[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Claim on IEEE1275
From: |
Hollis Blanchard |
Subject: |
Re: Claim on IEEE1275 |
Date: |
Sat, 1 Jan 2005 14:49:07 -0600 |
On Dec 29, 2004, at 11:11 AM, Hollis Blanchard wrote:
There is a "real-mode?" configuration variable, but I think that just
specifies OF's translation mode, independent of the client's mode
(see
the IEEE1275 PowerPC and CHRP bindings). Knowing the value of that
variable might be interesting but I wouldn't recommend changing it,
as
Apple firmware in particular is known to die a horrible death by
mucking with one of those settings (I'm pretty sure it's
"real-mode?").
On my powerbook it is set to false, while it is set to true on the
pegasos. So what do you suggest? Using map when it is set to false?
You said that both the PowerBook and the Pegasos work without the map
call, so if the briQ works too then I think we should use the approach
described above.
The briQ works without the map, and fails just like the Pegasos with it
(which shouldn't be surprising given their firmware was written by the
same people).
I've tested this patch (attached to prevent line-wrapping) on the briQ,
but there's some other problem (not caused by the patch) that hangs
after "boot". I'm not going to test Old World now, as there are some
more fundamental problems there.
The real issue may be that Apple firmware (on your PowerBook) returns
success when a mapping is requested for an existing translation, but
Codegen firmware (on the briQ and Pegasos) returns an error. It would
be interesting to re-implement the "suspend" command we talked about a
while ago and examine the processor node's "translations" property.
-Hollis
2005-01-01 Hollis Blanchard <address@hidden>
* boot/powerpc/ieee1275/cmain.c (cmain): Set the
GRUB_IEEE1275_MAP_CLAIM bit in grub_ieee1275_flags.
* include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_MAP_CLAIM):
New constant.
* kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call grub_map
if the
GRUB_IEEE1275_MAP_CLAIM bit is set in grub_ieee1275_flags.
map-claim.diff
Description: Binary data
- Re: Claim on IEEE1275,
Hollis Blanchard <=