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: Wed, 29 Dec 2004 11:11:18 -0600

On Dec 29, 2004, at 5:20 AM, Marco Gerards wrote:
Hollis, is the map call really required?  We can better go back to
using grub_ieee1275_claim if it is not.  If it is required, do you
have an idea of how to detect this?

It is certainly required: how would you like it if you claimed some
memory to write to but it was never mapped?

I assume it is mapped by claim.

If claim also called map, we would not have needed to add an explicit map call. See also the IEEE1275 description of "claim": Claim does not automatically create an address translation for the allocated resource.
        See 3.6.5.

Anyway, yaboot does not use map and neither does linux, as it seems.

Linux does not because it terminates OF and takes over the MMU itself.

As for yaboot, it does not run on Old World Macintosh, and described in the thread starting at http://lists.gnu.org/archive/html/grub-devel/2004-09/msg00014.html, I needed to use map on Old World. If it is *only* needed on Old World, then we could add another flag to grub_ieee1275_flags.

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.

-Hollis





reply via email to

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