By default, it's off. When enabled on the command line, it
causes dom0's VCPUs to be pinned to their respective physical
CPUs at creation time. Once pinned, they can never be moved.
ALso cleanup VCPU initialization of scheduler parameters.
Signed-off-by: Emmanuel Ackaouy <ack@xensource.com>
MMIO decode. The VMX-defined instruction-length info field is not
valid for use during most page faults. Hence we have to obtain the
instruction length the slow-and-stupid way.
This *will* go away when we throw away the wretched MMIO emulator.
Signed-off-by: Keir Fraser <keir@xensource.com>
Avoids stub code created on the stack being unable to
reach targets in main Xen code via direct branches.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
and GDB is attached.
It may be necessary for gdb and the console to share a serial port.
This patch utilises the GDB protocol to encode console output.
Based on a patch from Tony Breeds <tony@bakeyournoodle.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
- delete correct file in _tags rule
- don't prune nonexistent files/dirs
- call exuberant-ctags with additional flags from Linux:
-I to ignore some misleading hits
--extra=+f to include an entry for the basename of every file
--c-kinds=+px to add prototypes and external variable declarations
Signed-off-by: Aron Griffis <aron@hp.com>
Without the patch, vlapic->intr_pending_count could become a very
small negative, causing some local APIC timer interrupts lost.
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Edwin Zhai <edwin.zhai@intel.com>
ELCR semantics (should not be modified by PIC reset).
This effectively removes Steve Smith's changeset
11586:08a582a98471da30fb86bca620495f3d91d55800
but the real bug here is not that the ELCR was reset to
zero, but that it was touched at all.
Our BIOS code should set the ELCR correctly (level-triggered)
for PCI IRQs.
Signed-off-by: Keir Fraser <keir@xensource.com>
* There's not need for sysrq to be in its own file.
* Bonus advantage: can use arg_check rather than gopts for argument
validation.
Signed-off-by: Alastair Tse <atse@xensource.com>
- Abort core dump if destination is a directory.
- Throw appropriate XendError expection on failure.
Reported by Masaki Kanno <kanno.masaki@jp.fujitsu.com>.
Signed-off-by: Alastair Tse <atse@xensource.com>
* Fix text wrap so it doesn't chop off last word in help message for
certain cases.
* Fix handling of xm create --help_config
* Remove redundant gopts.usage() call.
Signed-off-by: Alastair Tse <atse@xensource.com>
The shadow code uses hvm_get_guest_ctrl_reg(v, 4) to test whether
PAE is enabled or not. But it is not always right if the hypervisor
calls hvm_get_guest_ctrl_reg(v, 4) between vmxassist_invoke and
vmxassist_restore
The patch uses the d->arch.hvm_vmx.cpu_state to test if the PAE is
enabled.
Also update SVM code to use the new 'pae_enabled' hvm func.
Signed-off-by: Xiaohui Xin <xiaohui.xin@intel.com>
Signed-off-by: Steven Hand <steven@xensource.com>
Currently, guest_linear_to_real to_real() in vmxassist assumes guest HVM
use 2 level page table when entering protect mode with PG enabled. Vista
uses 3 level (PAE enabled) page table, so memory addressing is wrong.
This patch fixes it, by considering all 4 possible cases.
Signed-off-by: Xiaowei Yang <xiaowei.yang@intel.com>
Introducing an OptionError exception to be used by all xm subcommands
to signal an error in the arguments. "xm" will catch these and output
the appropriate error and usage message.
Detailed Changes:
main.py:
* Cleaned up imports and moved warning filter outside of
import block.
* Converted usage parameters and description to a python
dict rather than strings to enable better usage help
formatting.
* Removed unused list_label domain command.
* Added cmdHelp() prints out usage message for any command
* Added shortHelp() prints out the default help message when
xm is invoked with no arguments.
* Added longHelp() prints out long help message when invoked
with xm --help or xm help.
* Added extra optional paramter to getDomains() so we can
tell Xend not to poll devices. This will speed up xm list.
(PENDING changes to Xend itself.)
* Changed all references where 'dom' actually means 'domid'
to use the correct name.
* Changed 'xm list' header format to use printf formatting style.
* Renamed xm_subcommand to xm_importcommand so it is more
clear what it is doing (all xm commands are subcommands!)
* Moved cpu_make_map() inside xm_vcpu_pin as an anonymous func.
* Use OptionError whenever an invalid option is detected in xm.
* Added proper catch and error printing for XendError and
OptionErrors in main().
addlabel.py:
cfgbootpolicy.py:
dry-run.py:
dump-policy.py:
get-label.py:
labels.py:
loadpolicy.py:
makepolicy.py:
rmlabel.py:
resources.py:
* Replaced usage() with help() that is called from main.py
* Replaced usage() invokation with raising OptionError
opts.py:
* Added very simple wrap() function that behaves differently
to textwrap.wrap()
* Added OptionError()
* Replaced the string representation of Opt, Opts to output
a nicely formatted usage message.
* Changed class Opts itself will throw approriate OptionErrors.
* Changed set_bool to recognise 'y' and 'n' as valid input
create.py:
* Some whitespace and column width cleanup.
* throws OptionError if encounters option error.
migrate.py:
* Replace usage() message with the string representation of
gopts.
sysrq.py:
* Replace usage message with throwing OptionErrors
Signed-off-by: Alastair Tse <atse@xensource.com>