prep problems - a couple of questions

2 messages, 2 authors, 2000-08-23 · open the first message on its own page

prep problems - a couple of questions

From: David Monro <hidden>
Date: 2000-08-23 06:07:34

Hi,

I'm encountering a couple of problems with 2.4.0-test3+ on PReP systems.
I've finally traced the major one down to the following: calling
request_region() in prep_setup_arch() causes the machine to stop.
Tracing it a little deeper, it is the call to kmalloc() inside
request_region() which actually fails. I'm guessing this is caused by
the changes to the slab allocator in 2.4.0-test3.

So it looks like we can't afford to call request_region() this early in
the game. Can anybody tell me when it is first safe to use it?

Secondly, once I hacked around that I discovered that the IDE acesses
are all coming out byteswapped (this includes the ID strings etc, not
just the data). This is caused by the addition of the '#if 0' in
include/asm-ppc/ide.h as follows:

#if 0
#undef insw
#define insw(port, buf, ns)     do {                            \
        ppc_ide_md.insw((port), (buf), (ns));                   \
} while (0)

#undef outsw
#define outsw(port, buf, ns)    do {                            \
        ppc_ide_md.outsw((port), (buf), (ns));                  \
} while (0)
#endif

This appears in 2.3.99-pre6. Anybody know why? If I take out the #if 0
the IDE drives work fine again...


Cheers,

	David

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

Re: prep problems - a couple of questions

From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2000-08-23 11:58:07

On Wed, 23 Aug 2000, David Monro wrote:
I'm encountering a couple of problems with 2.4.0-test3+ on PReP systems.
I've finally traced the major one down to the following: calling
request_region() in prep_setup_arch() causes the machine to stop.
Tracing it a little deeper, it is the call to kmalloc() inside
request_region() which actually fails. I'm guessing this is caused by
the changes to the slab allocator in 2.4.0-test3.

So it looks like we can't afford to call request_region() this early in
the game. Can anybody tell me when it is first safe to use it?
Change all early calls to `request_region(...)' to calls to
`request_resource(&ioport_resource, ...)', also passing pointers to your own
preinitialized `struct resource's.

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help