Re: [XenPPC] Re: New domain builder in xen-unstable

2007-03-09 Thread Hollis Blanchard
On Wed, 2007-03-07 at 08:27 +, Keir Fraser wrote:
> 
> > The new domain builder infrastructure is not flexible enough for
> > PowerPC, so we're sticking with our own xc_linux_build(). It sounded
> > before like that would be possible, so I assume a20ec270998b was
> just an
> > oversight?
> 
> Hmm yes. You can #ifdef in the Python wrapper for now. But I'm
> surprised that you can't move to the new domain builder at all -- it
> has hooks for arch-dependent code to be inserted already, and we could
> add more if there's a need.

It's pretty complex, which you may not realize since Gerd did the x86
work for you. FYI, I've been working on this for three days, and when
I'm done I will only have un-broken PowerPC. Dubious use of time IMHO.

I can't just ifdef PowerPC's xc_linux_build back in, because libelf
doesn't map page-by-page like the old ELF loader did. That means I need
to pre-map the memory, which starts dragging in xc_dom infrastructure.
I'm tempted to copy-paste-and-hack that infrastructure, but I'm trying
to be a good person and fit into the common code (avoiding ifdefs)
wherever possible.

Here's my current confusion: where are these ELF features described?
Since PowerPC domU communicate only via GPFNs, do I need to set the
"auto-translated" feature?

What is the difference between dom->shadow_enable and
xc_dom_feature_translated()?

-- 
Hollis Blanchard
IBM Linux Technology Center


___
Xen-ppc-devel mailing list
Xen-ppc-devel@lists.xensource.com
http://lists.xensource.com/xen-ppc-devel


[XenPPC] Re: Periodic VIRQ_TIMER required?

2007-03-09 Thread Hollis Blanchard
On Fri, 2007-03-09 at 19:38 +, Keir Fraser wrote:
> 
> I've been reworking the guest timer support in Xen to make it more flexible.
> As a result of this the 100Hz VIRQ_TIMER event has gone away by default
> except for x86 PV guests (which I know will need it for backward compat, and
> can explicitly disable it if they don't need it). I'm not sure whether ia64
> or powerpc guests also require this event -- if so let me know and I'll add
> the necessary line to your vcpu_initialise() functions.

I guess your HVM domain APIC emulation creates a Xen timer when the
guest tries to set up an interrupt? Currently all PowerPC guests are
paravirtualized and create timer interrupts without Xen involvement
(either trap or hcall), so we would be unable to call Xen's set_timer()
as the guests expect.

Strictly speaking I don't think it needs the periodic timer: PowerPC
Linux uses the timer interrupt as a trigger to examine an independent
time source (the timebase) to see how many ticks to advance. However, on
a heavily-loaded Xen system where a guest vcpu doesn't get much time,
when it finally is scheduled I guess it would spend a lot of time
replaying the ticks it missed.

So in conclusion, I think we'll need the legacy behavior, though it
might be interesting for us in the future to modify Linux to use hcalls
to create timer events.

-- 
Hollis Blanchard
IBM Linux Technology Center


___
Xen-ppc-devel mailing list
Xen-ppc-devel@lists.xensource.com
http://lists.xensource.com/xen-ppc-devel