Subject: port-amiga/22140: update for /dev/reload
To: None <gnats-bugs@gnats.netbsd.org>
From: None <gni@gecko.de>
List: netbsd-bugs
Date: 07/15/2003 11:27:58
>Number:         22140
>Category:       port-amiga
>Synopsis:       update for /dev/reload
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    port-amiga-maintainer
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Tue Jul 15 09:27:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     Gunther Nikl
>Release:        NetBSD 1.6.1
>Organization:
>Environment:
Architecture: m68k
Machine: amiga
>Description:
Since the switch to ELF on NetBSD/amiga with 1.6 /dev/reload cannot be used
anymore since it works for a.out kernels only. Additionally, /dev/reload
does still require chipmem to reload a kernel and the reload code must be
at exactly the same location in the new kernel and the currently running
kernel (because reload continues in chipmem after the MMU is switched off).
>How-To-Repeat:
Copy an ELF kernel into /dev/reload. This will fail.
>Fix:
The attached diff for amiga/amiga_init.c replaces the a.out support with an
ELF loader including symbol loading. The attached diff for amiga/locore.s
removes the chipmem limitation and reload code match constraint. That allows
to reload into arbitary kernels with no size restriction since it places the
new kernel in fastmem. The old code used chipmem because the kernel could
only load from there. This restriction is long gone.
The patches are against -current sources and apply with a small change
(AOUT_LDPGSZ -> __LDPGSZ) on 1.6.1. The new /dev/reload code was only tested
with 1.6.1 and a 68060.

begin 644 dev_reload.tgz
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
<K6YUJUO=ZE:WNM6M;G6KV__?]F\W].WJ`'@`````
`
end
>Release-Note:
>Audit-Trail:
>Unformatted: