[OpenBIOS] [PATCH 0/3] alternative implementation of sparc64 boot memory mapping
Igor V. Kovalenko
igor.v.kovalenko at gmail.com
Sat Dec 26 23:07:01 CET 2009
The following series implements alternative approach
to solve issue where qemu provides i/o and pci memory
spaces within physical RAM address space, which makes
low memory addresses unusable.
Instead of changing qemu to move i/o and pci spaces
out of RAM space we can remap 64M of i/o and pci
spaces to above 32bit accessible by client program.
Then we map physical RAM at 64M offset to start of
virtual memory.
A few extra changes are required. At very least we
need to find where framebuffer virtual address is
placed by startup code, helper change is provided.
NOTE: this approach may hide up to 128M from client
allocations so I tested with 'qemu-system-sparc64 -m 256'
In my test these series are as efficient as
qemu change to remap i/o and pci spaces in
allowing milax032sparc.iso to not step over
cmd646 registers. Currently milax loader
gets a bit further and fails with
Can't open /ramdisk-root
byte-load: exception caught!
---
Igor V. Kovalenko (3):
sparc64: remap first 64M physical address space
sparc64: claim memory mapped by startup code
ofmem: helper to find first virtual address map entry
arch/sparc64/entry.S | 68 +++++++++++++++++++-----------------------
arch/sparc64/ofmem_sparc64.c | 2 +
arch/sparc64/openbios.c | 19 ++++++++----
include/ofmem.h | 1 +
modules/ofmem_common.c | 25 +++++++++++++++
modules/video.c | 9 +++++-
6 files changed, 80 insertions(+), 44 deletions(-)
--
Kind regards,
Igor V. Kovalenko
More information about the OpenBIOS
mailing list