Re: Xbox Linux Kernel Patches Questions

From: Alan Cox (alan@redhat.com)
Date: Thu Oct 10 2002 - 15:51:30 EST


> The Xbox chipset has a PCI bug that makes the system hang when reading
> from 00:00.2 or 00:00.3 in the PCI configuration space. We have added a
> check that ignores these devices, embraced by #ifdef CONFIG_XBOX in
> drivers/pci/pci.c

Can you tell the xbox by the subsystem id on the root bridges ?

> 2) System timer fix
> The system timer runs about 6% faster than on a PC. We have added a
> #ifdef CONFIG_XBOX section to include/asm-i386/timex.h

It isnt actually alone in that - 2.5 probably makes that pretty easy to
accomodate. We have subtrees for x86 variants as a patch set now and used
for the voyager platform. The newer IBM and certain other vendor "big x86"
boxes are pretty weird probably weirder than X-box 8)

> 3) Shutdown/Reboot
> The Xbox doesn't support standardized APM to shut down and doesn't have
> a keyboard controller to reset the system. We have added code to shut
> down and reboot the Xbox in arch/i386/kernel/process.c.

Ok. Thats true of some embedded x86 too

> 4) No keyboard controller
> There already seems to be a patch available that doesn't print 100
> warnings and allocate IRQ1 for the keyboard if there is no keyboard
> controller present and we add the command line parameter "kbd-reset".
> This patch is in 2.4.19-16mdk, but not in plain vanilla 2.4.19. Without
> this patch, we have an interrupt conflict on IRQ1.

The latest code has a kbd_present function. That lets you add the logic
you need.

> Do we have a chance for our kernel fixes for the Xbox to be included
> into the standard kernel? All our changes are tiny and #ifdef
> CONFIG_XBOX and change nothing on a i386 PC or on any other
> architecture.

Probably. I suspect the primary questions are political/lawyer ones rather than
technical ones. Things like the IDE drive password are touchy obviously
but that can be done from an initrd loaded with the kernel I guess.

> Would it be better to have a runtime check at kernel initialization to
> detect the Xbox and put all Xbox specific code between if (xbox) {}?

IMHO yes.

> the way, FATX doesn't only make sense on the Xbox, it's a multi-purpose
> filesystem that might also be used for other applications, because of
> it's simplicity and its small kernel footprint. (Please note that our
> FATX code is still in beta).
>
> Can our additional drivers be added to the standard kernel once they
> are finished?

Yes - you should probably aim at 2.5 for merging rather than 2.4 however,
especially for things like the FATX file system work.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue Oct 15 2002 - 22:00:39 EST