Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 Nov 2005 11:18:34 -0500
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-arch@freebsd.org
Cc:        ed@fxq.nl, Rink Springer <rink@stack.nl>
Subject:   Re: FreeBSD/xbox: updated 7.0 patchset
Message-ID:  <200511071118.35041.jhb@freebsd.org>
In-Reply-To: <20051106222359.GC46752@stack.nl>
References:  <20051106222359.GC46752@stack.nl>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sunday 06 November 2005 05:23 pm, Rink Springer wrote:
> Hello everyone,
>
> I'd like to present my 7.0-CURRENT XBOX patches. If you put 'options
> XBOX' in your kernel after applying this patch, you will get a kernel
> that is bootable on both ordinary i386 PC's as well as XBOX'es. 'device
> xboxfb' is an XBOX-capable frame buffer.
>
> You can download the patches from
> http://rink.nu/downloads/xbox-patches/xbox-7-current.diff. I hope this
> patch will be committed to the FreeBSD source tree. Let me know any
> suggestions for improvements.
>
> The XBOX option depends on I686_CPU and will error out if it is not
> supplied. The overall patch is just over 1000 lines, mainly due to the
> framebuffer driver. You will need the most recent CVS version of
> Cromwell [1], as it now fakes FreeBSD boot info so the initial entry
> won't halt the CPU. This removes the patches in the locore.s file.
>
> For some reason, the kernel will not work fine if you have syscons in your
> kernel. This only affects the XBOX, so either syscons crashes it somehow
> or it gets a higher priority. However, as the current framedriver driver
> needs to be syscon(4)-ized, I intend to port the framebuffer to the VESA
> framework. Assistance on this is very welcome.
>
> Finally, I am willing to maintain this so future FreeBSD's will run on
> the XBOX without any issues. Work is underway for the nForce ethernet as
> well as an improved syscons(4)-able console driver.
>
> [1] This is the Linux BIOS for the XBOX; it was patched in order to boot
>     FreeBSD correctly.

It might be nice to have as much of pci16l.s in C as possible for ease of 
maintenance.  For example, at least two of the functions I looked at in there 
just call a p16l_setbits() and that could be done via an inline function in a 
header file.

-- 
John Baldwin <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200511071118.35041.jhb>