[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RISC OS Port Part 2 - Address space abstraction

From: Timothy Baldwin
Subject: RISC OS Port Part 2 - Address space abstraction
Date: Sat, 8 Oct 2005 21:01:39 +0100
User-agent: KMail/1.8.2

I have uploaded part 2 of the the RISC OS port to my website:

Like before the remaining changes to my tree are at:

To avoid confusion I have created a (temporary) webpage for the RISC OS Port:

This part consists of a general purpose address space abstraction which 
- 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 
- 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 
- Removing the requirement for the booted OS to be located in grub_os_area on 

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.

No to software patents!    Victory to the iraqi resistance!

Attachment: pgpqVEg67eOpz.pgp
Description: PGP signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]