Hi.

The memory mapp is on the wiki.
btw: The wiki have a new homepage :
http://www.mactel-linux.org/wiki/Main_Page

Later this day i'll put information together how to boot Linux on the
Intel iMac. You wi'll be surprised how simple it is ;)

cu

Edgar

Bjorn Helgaas wrote:
> On Friday 17 February 2006 00:54, Edgar Hucek wrote:
>> The machine is an Apple Intel iMac 17" Dual Core booted with
>> elilo.
> 
> Nice work.  I think I could help debug this much better with my own
> Intel iMac :-)
> 
> Your wiki (http://xbox-linux.org/mactel/index.php/Main_Page) mentions
> changes to elilo.  Can you detail those?  The elilo maintainer works
> across the aisle and would like to make this work out of the box.  Or
> maybe you just had to remove the ExitBootServices call, so the kernel
> can keep using the firmware console or something?
> 
> If you have a way to capture the EFI memmap, could you post that on
> your wiki page as well?  I guess you could collect basically the same
> information by turning on EFI_DEBUG in arch/i386/kernel/efi.c.
> 
> The memmap I've seen (from another iMac) has a few strange things:
> 
>> Type       Start            End               # Pages          Attributes
>> reserved   000000000009F000-000000000009FFFF  0000000000000001 
>> 000000000000000F
>> available  0000000000100000-000000007BD1DFFF  000000000007BC1E 
>> 000000000000000F
> 
> No MemMapIO region for VGA frame buffer.  Intel ia64 boxes have the
> same bug.
> 
>> MemMapIO   00000000E00F8000-00000000E00F8FFF  0000000000000001 
>> 8000000000000000
>> MemMapIO   00000000FED1C000-00000000FED1FFFF  0000000000000004 
>> 8000000000000000
>> MemMapIO   00000000FFFB0000-00000000FFFDFFFF  0000000000000030 
>> 8000000000000000
> 
> Marked "runtime", but no access types supported.  I'd expect at least
> UC to be set.
> 
> And the PCI windows aren't mentioned.  I'd expect 0x80000000-0x88000000
> and some other regions to be MemMapIO.  I guess you can learn this from
> the ACPI root bridge descriptions, so maybe it's not strictly required.
> 
> But as for your specific issue, I'd expect your memmap to show that the
> ACPI tables are in memory that supports WB, so acpi_os_map_memory()
> will just use phys_to_virt() instead of ioremap(), which is what your
> dmesg showed:
> 
>> ACPI: XSDT (v001 APPLE   Apple00 0x00000039      0x01000013) @ 0x1fefd120
>> ...
>> iounmap: bad address dfefd000
>>  [<c0253684>] acpi_tb_get_table_header+0x67/0x92
>>  [<c02536c2>] acpi_tb_get_table+0x13/0x55
>>  [<c02538b2>] acpi_tb_get_table_rsdt+0x1f/0x99
>>  [<c0253971>] acpi_load_tables+0x45/0xa9
>>  [<c0443d56>] acpi_early_init+0x46/0xf6
> 
> (0xdfefd000 = 0x1fefd000 + 0xc0000000)
> 
> In that case, the iounmap() will certainly fail, as Shaohua points out.
> His test patch forces acpi_os_map_memory() to always use ioremap(), but
> that didn't help your situation.  My guess is you hit the
> "if(!PageReserved(page))" case in __ioremap(), and we're missing
> a SetPageReserved() somewhere in the EFI memory initialization, but
> I'm not enough of an x86/VM expert propose anything.
> 
> Sorry for rambling on so long without contributing anything...  Maybe
> Matt will have some ideas.
> 

-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to