[OpenBIOS] [PATCH 0/5] sparc64: implement OF memory manager

Igor Kovalenko igor.v.kovalenko at gmail.com
Thu Jul 30 10:09:01 CEST 2009


This patch series implement OF memory manager.

I used arch/ppc/qemu/ofmem.c as a starting point,
future plans in ofmem area would be to migrate common
parts from working implementations (ppc and sparc64)
into shared module.

Since ofmem declarations are to be used by different
architectures it appears that using ucell type in
ofmem.h is appropriate. This required changes to
ppc/qemu code. Unfortunately mol, briq and pearpc
configurations does not build in my setup so I did not
touched those parts, and this change may be incomplete.

It seems useful to introduce CONFIG_OFMEM_OPTION to
conditionally trace ofmem operations, so this is
implemented as well. Also I introduce FMT_cell and other
macros to help formatting log messages easily.

Client interface handler now uses ofmem implementation
instead of walking hardware translation tables. Since setup
code in entry.S does install it's own translations ofmem
initialization routine simply copies entries from hardware.
Properties "available" and "translations" are then populated
as needed.

This implementation passes boot test with no visible changes
on screen for HelenOS-0.4.0-sparc64.iso

Linux boot does not improve with this patch due to conflicts
with memory mappings in low memory region. Also there is
an issue with lazy conditional codes evaluation by qemu.
If disrupting trap is taken before conditional branch is
executed then upon return from trap conditional codes are not
evaluated correctly. Visible effect is that with this patch
series silo is no longer gets into second stage, stopping at
SIL output. Patch for this issue is already posted
to qemu-devel mailing list.

Signed-off-by: igor.v.kovalenko at gmail.com

Kind regards,
Igor V. Kovalenko

More information about the OpenBIOS mailing list