This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


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

To: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Subject: Re: [Xen-devel] Breakage in -unstable for Transmeta -- Solution
From: "Carl Holtje ;021;vcsg6;" <cwh0803@xxxxxxxxxx>
Date: Fri, 24 Jun 2005 21:57:19 -0400 (EDT)
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Sat, 25 Jun 2005 01:56:27 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <dd37095c934ac49ee7926a4e3ee12e25@xxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <Pine.GSO.4.58.0506221441140.23919@xxxxxxxxxxxxxxxx> <91682d35640728e6b4e763e88bbcb465@xxxxxxxxxxxx> <Pine.GSO.4.58.0506231636120.10383@xxxxxxxxxxxxxxxx> <bd9c262c7aa8c86c6db4332f23614cc7@xxxxxxxxxxxx> <Pine.GSO.4.58.0506232019290.18321@xxxxxxxxxxxxxxxx> <fa6a51f13f61dd01134ebce891ddbe73@xxxxxxxxxxxx> <Pine.GSO.4.58.0506240859070.17433@xxxxxxxxxxxxxxxx> <193974b525123922007225148c6938fb@xxxxxxxxxxxx> <Pine.GSO.4.58.0506241153160.17433@xxxxxxxxxxxxxxxx> <50b68f3ddc1ff3db9893e0d7ad10b884@xxxxxxxxxxxx> <Pine.GSO.4.58.0506241513430.17433@xxxxxxxxxxxxxxxx> <dd37095c934ac49ee7926a4e3ee12e25@xxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
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..



- --

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

Xen-devel mailing list