[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Breakage in -unstable for Transmeta -- Solution



On Fri, 24 Jun 2005, Keir Fraser wrote:

> On 24 Jun 2005, at 20:22, Carl Holtje ;021;vcsg6; wrote:
>
> > In xen/include/asm/page.h, revision 1.53 changed a line from:
> >   #define PAGE_MASK           (~(PAGE_SIZE-1))
> > to:
> >   #define PAGE_MASK           (~(intpte_t)(PAGE_SIZE-1))
> > and caused Bad Things for Transmeta..
>
> That change actually got reverted as it broke PAE. So you may find the
> latest unstable version works better for you.

Ah.. just my luck. ;) Thanks!

> > It seems to me, and please correct me if I'm wrong, the Best Way to fix
> > this is with something like a #ifndef CONFIG_X86_TRANSMETA {ver 1.53
> > code}
> > #else {earlier code} #endif around this. This is what I've done for my
> > other changes, and seems to work pretty well. So.. where would
> > CONFIG_X86_TRANSMETA get defined? I've currently got it in
> > xen/Rules.mk as "CFLAGS += -DCONFIG_X86_TRANSMETA", and am sure it's
> > not the Right Way to do it..
>
> We don't want to select support for things like Transmeta at compile
> time. We'll have to work out how to make the selection at run time.
> Transmeta chips are fairly fully-featured afaik, so this oughtn;t to be
> hard.

Hm.. alright.. To faciliate this thought, the changes I had to make
include (this is from memory, so all may not be exact):

* In xen/arch/x86/boot/x86_32.S, disable FPU initialization
* In xen/arch/x86/boot/x86_32.S, disable PGE enabling
* In xen/{I don't remember}/flushtlb.c, the call to local_flush_tlb or
something of this nature calls __pge_off() and __pge_on -- I used a #ifdef
CONFIG_X86_TRANSMETA to work around it as local_flush_tlb is a #define.
(I'm certainly not saying what I've done is best by any means, but it
works for me..)
* Added support to linux-2.6...-sparse/arch/xen/Kconfig to select
Transmeta support (dependant upon x86-32)
* Failed attempt to select different xen0 config files in the
buildconfigs/mk.linu-2.6-xen0 to grab the Transmeta/OQO config file
* Xen0 & xenU kernel config files

* um.. I think that might have been it.. course, with this, you could
practically write your own patch... :)

And you'd know far better than I about how to support these changes at
runtime than I would..

Thanks!

Carl

- --

"There are 10 types of people in the world: Those who understand binary
and those that don't."

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.