Ewan Mellor [Thu, 28 Dec 2006 15:28:45 +0000 (15:28 +0000)]
Added __repr__ implementation, initialise last_login_method to None, and
use gettext's ugettext explicitly, rather than using gettext.install. These
things together improve the error messages that you get when using this
module incorrectly in the interactive interpreter.
Ewan Mellor [Thu, 28 Dec 2006 15:26:19 +0000 (15:26 +0000)]
Do not update the PV_ variables with the values outputted by the bootloader --
this gets us into all sorts of trouble when Xend is restarted and then the
domain is rebooted, because we expect to be able to handle the PV_kernel == ''
case by defaulting to pygrub.
[HVM] Route ISA IRQ 0 to IOAPIC GSI 2, just like 99% of native systems.
This is a built-in assumption of HPET 'legacy' IRQ routing, which is
why we have changed to this routing strategy now.
Ewan Mellor [Mon, 25 Dec 2006 16:26:51 +0000 (16:26 +0000)]
Change the way that networks and PIFs relate to each other -- the PIF holds a
reference to the network (and the host) not the other way around. Persist only
the necessary details for the network (not the set of PIFs and VIFs).
Fix the plumbing of the network class inside XendAPI, and implement a few more
functions.
Ewan Mellor [Mon, 25 Dec 2006 16:20:23 +0000 (16:20 +0000)]
Change the way that MESSAGE_PARAMETER_COUNT_MISMATCH is diagnosed (using a
separate dictionary to record parameter counts, rather than trying to parse them
out of the exception) and tidy up the validator preprocessing and the
validators themselves.
Ewan Mellor [Mon, 25 Dec 2006 15:04:28 +0000 (15:04 +0000)]
Plumb the new PIF and network implementations in through the XendAPI class.
Use the new stateful records to save host, SR, network, and PIF configuration.
Add extra functionality to the SR class, to calculate capacities et al.
Ewan Mellor [Fri, 22 Dec 2006 11:39:29 +0000 (11:39 +0000)]
Added Xen-API-style error handling for INTERNAL_ERROR and
MESSAGE_METHOD_UNKNOWN. Only add the Xen-API methods to the official Xen-API
XML-RPC server, not to the legacy one.
Ewan Mellor [Fri, 22 Dec 2006 11:38:05 +0000 (11:38 +0000)]
Move the decoration of all the Xen-API methods out of XendAPI.__init__ and
into the module scope. This avoids the decorators being added multiple times,
once for each server running.
Fix handling of MESSAGE_PARAMETER_COUNT_MISMATCH in many cases. Move the
get_by_uuid declarations, so that those functions get the per-class validator
as well, to check for existence of the object requested.
[HVM] Emulates HPET in hypervisor and extend ACPI tables. Signed-off-by: Dexuan Cui <dexuan.cui@intel.com> Signed-off-by: Eddie Dong <eddie.dong@intel.com> Signed-off-by: Xiaowei Yang <xiaowei.yang@intel.com>
Tim Deegan [Wed, 20 Dec 2006 12:07:10 +0000 (12:07 +0000)]
[HVM] Mask cmpxchg8b capability in cpuid for non-pae guests
This allows non-PAE NT4 kernels to boot Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
Tim Deegan [Wed, 20 Dec 2006 12:04:38 +0000 (12:04 +0000)]
[XEN] Don't pass spurious fast-path faults to the guest at all.
Instead, retry and get a sensible fault from the hardware next time. Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
Tim Deegan [Wed, 20 Dec 2006 12:03:07 +0000 (12:03 +0000)]
[XEN] Clean up the shadow interface
Remove a lot of unneccesary things from shadow.h, and move the shadow lock
entirely inside the shadow code. Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
Tim Deegan [Wed, 20 Dec 2006 11:57:53 +0000 (11:57 +0000)]
[HVM] Add expansion-ROM boot support to the ROMBIOS
This is rudimentary support for parts of the BIOS Boot Specification,
just enough to use Etherboot ROM images. Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
Tim Deegan [Wed, 20 Dec 2006 11:54:57 +0000 (11:54 +0000)]
[XEN] Skip shadowing of guest PTE writes when known to be safe
That is, when the guest replaces a not-present pte with another one Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
Tim Deegan [Wed, 20 Dec 2006 11:53:01 +0000 (11:53 +0000)]
[XEN] Better diagnostics of recursive shadow faults
Give a trace of the recursive fault instead of BUG()ing in the shadow handler. Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
[LINUX] dma: Use swiotlb mask for coherent mappings too
The recent change to use a default DMA bit width of 30 bits (required
by chips like the b44) only converted the streaming DMA primitives.
The coherent mappings are still hard-coded to 31 bits. This means
that b44 still doesn't work under Xen.
This patch makes the io_tlb_dma_bits variable global and uses it for
coherent memory mappings.
Thanks to Calvin Webster for providing a machine with a b44 and 2G
of memory I've been able to verify that this finally makes the b44
work under Xen.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Rename 'io_tlb_dma_bits' to the more correct 'dma_bits'. This also
affects the name of the boot parameter, which is now 'dma_bits='.
[HVM] Sync per vcpu LAPIC timer with its TSC:
- benefits LAPIC calibration
- makes scheduling policy based on LAPIC more precise
- makes LAPIC timer code becomes simpler and cleaner after using
periodic time layer
Signed-off-by: Xiaowei Yang <xiaowei.yang@intel.com>
[HVM] Enable more than one platform timer (PIT/RTC/HPET)
programmed as periodic timer and adds them to abstract layer, which
keeps track of pending_intr_nr to avoid time interrupt lost and
sync'ed timer with TSC.
It also makes some cleanup to the time related code.
Signed-off-by: Xiaowei Yang <xiaowei.yang@intel.com> Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
[HVM][SVM] Modify the interrupt/event injection logic.
Resolves performance issues concerning AMD-V virtual interrupt/event
injection:
- Remove extra VINTRs vmexits, and only setup fake interrupt if intr
pending.
- Allow both event injection and interrupt injection concurrently in
vmcb.
Since we had changed to use event callback to deliver interrupts,
1. The pending_interruption is changed to pending_event.
2. get_ivr, set_tpr, get_trp and set_eoi are not used or only used
in the initialization phase. There is no need to write this code
in assembly. This code is deleted.
3. hyper_ssm_i needs to be rewritten to jump to entchn_callback_handler
instead of iva+0x3000 interrupt handler. I will do this later.