grub-devel
[Top][All Lists]
Advanced

[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.

Attachment: map-claim.diff
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]