On Fri, May 21, 2010 at 11:03 AM, Mark Cave-Ayland mark.cave-ayland@siriusit.co.uk wrote:
Igor Kovalenko wrote:
Looks good.
Okay - I'll apply it and wait for the screams if it breaks ;)
Please note that in the future we will need to change props array type from ucell to uint32_t since we will have to use encode-int on it's elements. For 32bit arch this is not an issue, since ucell has the same size as uint32_t.
Yeah - I was thinking about this the other day and musing how difficult it would be to move SPARC32 over to ofmem. Not only would it help squash these kind of bugs, but it would also give Artyom a helping hand too.
I think I could probably do some of the work, but would struggle with the SPARC assembler for MMU entries and the I/O mapping in SPARC32. Is this something you think you'd be able to take a quick look at?
There's also romvec tables that need to be managed. They are probably the primary interface for any OS.
No need for any assembler except the macros at the end of arch/sparc32/lib.c. Sparc32 MMU is very simple, the thorough description in V8 manual is ~20 pages.
IOMMU is described in Sun4M System Architecture Manual. IOMMU maps physical pages to device virtual memory space, much like MMU maps physical pages to CPU virtual space.