I have uploaded part 2 of the the RISC OS port to my website:
http://www.majoroak.f2s.com/tim/grub/patches/grub2-patch6.diff.gz

Like before the remaining changes to my tree are at:
http://www.majoroak.f2s.com/tim/grub/patches/grub2-patch6-remainder.diff.gz

To avoid confusion I have created a (temporary) webpage for the RISC OS Port:
http://www.majoroak.f2s.com/tim/grub/RISC_OS.html

This part consists of a general purpose address space abstraction which 
allows:
- Allocating and freeing memory from the target address space.
- Allocating and freeing memory in GRUB's address space to store data intended 
for the corresponding area in the target address space.
- Booting a system into the address space.

The implemention for physical address space on RISC OS uses are:
- memory/defragment.c, a generic page move list calculator.
- memory/arm/mmu_off.S, MMU disabling code for ARM, uses the instruction cache 
to prevent reads from the physical address corresponding to it's virtual 
address.
- memory/arm/relocate.S, an ARM page move routine.


This code could also be used to:
- Boot from Windows CE (aka PocketPC) and EPOC32.
- Boot from Linux using the kexec system call.
- Boot remote systems using the GDB protocol, often used on development 
boards.
- Removing the requirement for the booted OS to be located in grub_os_area on 
i386.

There are a couple of issues with this code:

How should I print a grub_addr_t, so that it aligns up in columns?

Their is no support for OS boot functions to return errors. I propose that the 
responsibility for calling grub_machine_fini be move to OS boot functions, 
which will return a grub_err_t in case of an error.


-- 
Member AFFS, WYLUG, SWP (UK), UAF, RESPECT, StWC
No to software patents!    Victory to the iraqi resistance!

Attachment: pgpfBAMydq6T9.pgp
Description: PGP signature

_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to