Hi Matt & Johannes, On 5 February 2010 07:35, Matt Madia <mattmadia@xxxxxxxxx> wrote: > > On Thu, Feb 4, 2010 at 07:42, Michael Zucchi <notzed@xxxxxxxxx> wrote: > > Now that the build tools are building on ARM - *yay* - i've been poking > > around with Haiku on a BeagleBoard. > > > I noticed on your blog[0], you mentioned a fix for ARM "Managed to get > it to build (with a small fix for a renamed type)". At least on > FreeBSD, arch_vm_translation_map.cpp fails to build as > 'vm_translation_map' isn't defined. Would you care to submit a patch > for this at dev.haiku-os.org? For that about all I did was s/vm_translation_map/VMTranslationMap/ since none of it is used anyway. But i'll try to get a patch or two of what I have so far. On 5 February 2010 12:56, johannes <johanneswi@xxxxxxxxx> wrote: > better ;) The port is not dead but I have not done much lately > because of university but I plan to take up work again... but can't > say when yet... Ok good o. I was more worried about someone being active on another branch or privately and duplicating `effort' :) > As I see you use the framebuffer console afaik it does not yet work > corectly together with the mmu setup stuff yet... Can you tell me > what you got befor user_menu:enter ? because it should not get to > this point since this indicates that it failed to find the kernel > for example... The frame-buffer i just hardcoded to physical memory @ 128K (into ram) at the moment, since it crashed when it tried allocating it using the mmu code (it currently uses code from u-boot, so i can't distribute that). And the BoardConfig I copied from the overo one. It does this following before it crashes inside vfprintf(), (if my bodgy exception handler is accurate anyway). (i added a bit more debug too) [ mostly mmu code output ] platform_init_video() video framebuffer: 0x88000000 video mode: 1024x768x16 platform_switch_to_logo() arch_set_default_video_mode() arch_set_video_mode 1024,768 @ 16 set video mode: 0x00000000 [ lots of mmu code output ] NEXT VIRRUADRSSS: 80232000 ADDR: 80232000 map_page: vaddr 0x80232000, paddr 0x81251000 map_page: pageTable 0x81112800 map_page: inserting pageTable 0x81112800, tableEntry 50, physicalAddress 0x81251000 map_page: done video_display_splash: 0x00000000 Welcome to the Haiku boot loader! platform_add_boot_device platform_add_block_devices user_menu: enter Exception: Data Abort pc: 8000dcd4 sr: 200001d3 r0: 0000000e r1: 00000000 r2: 0000000e ... > so empty stubs are enough right now) In the blog he also writes that > he fixed the code to use the new mmu-table format (but I don't know > if this is absolutely needed since my reading of the documentation > leads me to believe that the Cortex A8 does still support the old > format) Well, the ARM ARM, B4.9.2, says this about CP15, C1: XP (bit[23]) Extended page table configuration. This bit configures the hardware page table translation mechanism: 0 = VMSAv4/v5 and VMSAv6, subpages enabled 1 = VMSAv6, subpages disabled. Then in the Cortex-A8 TRM, section 3.2.25, for the c1 control register. Bits 14-24 are marked as 'reserved', and in the bit definitions it is listed as as 'This field returns 11'b01100010100 when read'. i.e. bit 23 always on, subpages disabled, etc. Regards, Michael