[uCsimm] Himemloader for uCimm

From: Bernhard Kuhn (kuhn@lpr.e-technik.tu-muenchen.de)
Date: Sat Mar 17 2001 - 21:34:26 EST

Loading images for uCsimm to ram via ethernet/nfs.

uClinux on uCsimm can be started from RAM
to simplyfy development, but you have to
download the image via the serial line

As i don't like to bother around with
minicom/fast/rx, i implemented a
"himemloader": instead of loading the image to
0x20000 via the serial line (fast/rx) within
the bootloader environement, the image is treated
as located in ROM and loaded to
0x600000 via ethernet/nfs within uClinux.
The usage of the command "himemloader" is similar to
"flashloader". To reserve the memory for the
new image, the "*.ld" files in
platforms/68EZ328/ucsimm are modified accordingly.
Additionaly, You have to be in "supervisor mode"
in order to start the loaded kernel. I remembered
a trick that was used 17 years ago at AmigaOS:
I implemented trap #10, that just sets the Supervisor bit
in the status register that is saved on the stack and
returns from exception. The RTE then restores the
modified sr :-)

The whole package can be downloaded at
and consists of the following patches:

  trap #10 implementation for setting supervisor mode
  in user space. Include asm/system.h that provides
  the function supervisor() to make things easier.

  apply this patch *after* applying the supervisor-patch
  to limit the Memory to 6 Mbyte to get 2 Mbyte to
  emulate some ROM. An option "Kernel executes from HIMEM"
  is added in the "platform dependant setup".

  This patch adds the "himemloader" command to the boottools

  This patch just adjusts the deftemplate.sh so that
  the himemloader is also copied to the romdisk when typing
  "make" within the project directory.

This message resent by the ucsimm@uclinux.com list server http://www.uClinux.com/

This archive was generated by hypermail 2b30 : Sun Apr 07 2002 - 00:01:42 EST