Skip to contentSkip to conversation

Why require CONFIG_BOOTX_TEXT for so much of offb?

DISCUSSION Adam C Powell IV 3 participants 5 messages Dec 11, 2001 – Dec 13, 2001

lore
Share & tools
lore
#0 lore raw

Greetings,

Somewhere between 2.4.8 and 2.4.12, the benh kernel (used by Dan Jacobowitz in Debian) wrapped much of offb_init() in #ifdef CONFIG_BOOTX_TEXT

As a result of this, the Debian kernel images, which do not set CONFIG_BOOTX_TEXT because of oldworld OF problems, cannot open video using BootX (unless you specify e.g. video=atyfb...).

So here are my questions:

* Is there a way around this?
* Is the test for BootX at the start of offb_init() somehow insufficient, such that all of this code must be eliminated if non-BootX booting is to work?
* Or is there in fact a hard dependency of that code on other stuff provided by CONFIG_BOOTX_TEXT?
* Is there some way of separating the two, so a single kernel can work with BootX and with all versions of OpenFirmware?
* What's the point of offb without this section of code?

Please CC me in replies, as I'm not subscribed to this list.

Thanks,
--

-Adam P.

GPG fingerprint: D54D 1AEE B11C CE9B A02B C5DD 526F 01E8 564E E4B6

Welcome to the best software in the world today cafe!
<http://lyre.mit.edu/%7Epowell/The_Best_Stuff_In_The_World_Today_Cafe.ogg>

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

#1 lore raw

: So here are my questions:
:
: * Is there a way around this?
: * Is the test for BootX at the start of offb_init() somehow
: insufficient, such that all of this code must be eliminated if
: non-BootX booting is to work?
: * Or is there in fact a hard dependency of that code on other stuff
: provided by CONFIG_BOOTX_TEXT?
: * Is there some way of separating the two, so a single kernel can
: work with BootX and with all versions of OpenFirmware?
: * What's the point of offb without this section of code?

I believe I'm the person responsible for adding the #ifdef CONFIG_BOOTX_TEXT
to the code. IIRC (it's been a while), the problem with that code is that
when compiling the ppc64 kernel, you get a compile error when building that file:

offb.c:38:23: asm/bootx.h: No such file or directory

Given that bootx doesn't exist in ppc64 and the code seemed to be used _only_ for bootx, I wrapped it with the "#ifdef CONFIG_BOOTX_TEXT". Since it's a problem for you, replacing the uses of "#ifdef CONFIG_BOOTX_TEXT" (there are 3 uses of it) with "#ifndef CONFIG_PPC64" instead would probably work for me and fix your problem too.

Peter

--
Peter Bergner
SLIC Optimizing Translator Development / Linux PPC64 Kernel Development IBM Rochester, MN

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

#2 lore raw
Quoted 18 lines · Peter Bergner

: So here are my questions:
:
: * Is there a way around this?
: * Is the test for BootX at the start of offb_init() somehow
: insufficient, such that all of this code must be eliminated if
: non-BootX booting is to work?
: * Or is there in fact a hard dependency of that code on other stuff
: provided by CONFIG_BOOTX_TEXT?
: * Is there some way of separating the two, so a single kernel can
: work with BootX and with all versions of OpenFirmware?
: * What's the point of offb without this section of code?

I believe I'm the person responsible for adding the #ifdef CONFIG_BOOTX_TEXT
to the code. IIRC (it's been a while), the problem with that code is that
when compiling the ppc64 kernel, you get a compile error when building that file:

Quoted 7 lines

offb.c:38:23: asm/bootx.h: No such file or directory

Given that bootx doesn't exist in ppc64 and the code seemed to be used _only_ for bootx, I wrapped it with the "#ifdef CONFIG_BOOTX_TEXT". Since it's a problem for you, replacing the uses of "#ifdef CONFIG_BOOTX_TEXT" (there are 3 uses of it) with "#ifndef CONFIG_PPC64" instead would probably work for me and fix your problem too.

BOOTX_TEXT != BootX now tho. It's for writing on the screen early on. Perhaps some name changing, define moving and a new header for ppc64?

--
Tom Rini (TR1265)
http://gate.crashing.org/~trini/

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

#3 lore raw

Tom Rini wrote:
: BOOTX_TEXT != BootX now tho. It's for writing on the screen early on. : Perhaps some name changing, define moving and a new header for ppc64?

That doesn't seem to be used for prom_prints(), so what early screen prints would these be? If ppc64 can make use of them, then some "name changing, define moving and a new header for ppc64" would be the right thing. If not, then just replacing the #ifdef CONFIG_BOOTX_TEXT with #ifndef CONFIG_PPC64 would seem to be the right decision. The later would fix the compile problem for ppc64 and things would be back to the way they used to work for ppc32.

Peter

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

#4 lore raw
Quoted 6 lines · Peter Bergner

Tom Rini wrote:
: BOOTX_TEXT != BootX now tho. It's for writing on the screen early on. : Perhaps some name changing, define moving and a new header for ppc64?

That doesn't seem to be used for prom_prints(), so what early screen prints would these be?

Well, take a look at arch/ppc/kernel/btext.c. I _think_ one of the things this lets you do is if you drop into xmon you can still use the screen.

--
Tom Rini (TR1265)
http://gate.crashing.org/~trini/

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/