I/O memory and physical interrupts, under control
of domain0. Capabilities are maintained as rangesets
in Xen.
Signed-off-by: Ryan Wilson <hap9@epoch.ncsc.mil>
Signed-off-by: Keir Fraser <keir@xensource.com>
bootstrap code. Avoids need for indirection thru
reset_stack_and_jump() in C code (which was incorrect for
secondary CPUs since nothing was pushed on the stack on
that initial call, hence the masking operation had no
effect and we ended up running on a bogus stack pointer).
Signed-off-by: Keir Fraser <keir@xensource.com>
using symmetric keys and stored on disk along with those symmetric keys.
The attached patch uses the TPM to encrypt the symmetric keys and other
global secrets before saving them to disk.
Signed-off-by: Vinnie Scarlata <vincent.r.scarlata@intel.com>
insert_range() helper function. Pretty printer uses
the internal abstractions rather than accessing the
linked list directly.
Signed-off-by: Keir Fraser <keir@xensource.com>
is always sufficiently aligned (requires some linker script
tricks). Small fixes to show_trace() and ensure that Xen
stack pointers are always below the 'struct cpu_info' region.
Signed-off-by: Keir Fraser <keir@xensource.com>
for representing sets of contiguous numeric ranges. This
will be used for representing permissions lists (e.g.,
io memory, io ports, irqs).
Signed-off-by: Keir Fraser <keir@xensource.com>
both {rx,tx}_comms_area, and one (and just one) of them failed. As we
were
doing a single test for both, returning would leave one of them
allocated.
Signed-off-by: Glauber de Oliveira Costa <glommer@br.ibm.com>
occur in the right order and succeed.
Now on Closing state we:
- stop queue
- unbind irq
- unregister the device
On removal:
- end foreign access to TX and RX pages (we cannot do this before)
- free_netdev, doing the last stage of destroying an allocated device
Makes xm-test network "03_attach_detach_multiple_pos" pass:
http://xmtest.dague.org/cgi-bin/display?view=single&testid=1068
Signed-off-by: Murillo F. Bernardes <mfb@br.ibm.com>
skbuffs out onto the shared ring. If there are no skbuffs to push,
schedule a timer to try again later. This will avoid interface
lockups in low-memory conditions.
Signed-off-by: Keir Fraser <keir@xensource.com>
by narrowing accesses to SI/DI/SP registers. Also supports
real-mode addressing by shifting and adding the appropriate
segment register for certain stack and string operations
where the effective address is not already known.
todo: Stack operations should have address size specified
by B bit in stack segment descriptor, not by default address
size or address-size override. Probably nothing depends on
the proper behaviour though.
Signed-off-by: Keir Fraser <keir@xensource.com>
for TS) and allow only the same physical flags to be written
back to CR0 by a guest.
Add write-to-CR4 emulation, but check that the write does not
modify any CR4 flags.
Signed-off-by: Keir Fraser <keir@xensource.com>
1. show option "-c" of help of xm dmesg
2. fix value of parameter of arg_check of xm log
3. fix aliases of vbd-create and vbd-destroy
Signed-off-by Yoshinori Katase <y_katase@soft.fujitsu.com>
To support this add xc_translate_foreign_address to libxc. This function
walks page tables and translates virtual addresses using a given domain
and vcpu page table.
Signed-off-by: Ian Campbell <Ian.Campbell@XenSource.com>
page refcnts for host mappings as they are already
destroyed by put_page_from_l1e(). Also call
gnttab_release_mappings later (after destroying
page-table references) and from common code rather than
arch/x86.
Also a few other misc gnttab cleanups.
Signed-off-by: Keir Fraser <keir@xensource.com>
mapping created via a grant reference, rather than one
increment for all uses of a single grant reference.
This avoids a nasty situation in put_page_from_l1e()
where we cannot reliably determine whether a mapping was
created via a grant reference and so we must always
decrement the mapped page's reference count.
Signed-off-by: Keir Fraser <keir@xensource.com>
Our IPF machines are the following configurations.
- Total logical cpus = 16
-- 4 sockets
-- 2 cores
-- 2 threads
I changed the setting of BIOS, and invalidated the hyperthread, and I built Xen with NR_CPUS=8.
As a result, it became like attached file xendmesg1.txt.
- Available cpus 3
- Total cpus 8
Next, I built Xen with NR_CPUS=16.
As a result, it became like attached file xendmesg2.txt.
- Available cpus 8
- Total cpus 16
I thought not to match the analysis of the lsapic entry to the value of NR_CPUS.
It is an outline of patch as follows.
1. Count up the lsapic entry by using acpi_table_count_madt()/acpi_table_count_madt_family().
2. Call acpi_parse_lsapic() by using the number of lsapic entries.
3. Count up the available_cpus by using acpi_parse_lsapic(), however NR_CPUS is not exceeded.
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
Best Regards,
Kan
the exact one updated by scheduler. Or else easy to think how things get
messed under SMP environment. One phenomenon observed is about softirq.
Exit path on CPU1 checks pending indicator by local_cpu_data, and then
goto do_softirq if pending true. However do_softirq uses cpu_data(cpu)
to query pending bit again. Cpu index is aquired from smp_processor_id,
with thread_info->cpu not cared by scheduler. Finally do_softirq on CPU1
tries to operate percpu data on CPU0 then.
Also disable several prints within critical path, like sending IPI. Due to
slow serial speed, this will slow down overall performance heavily since
event channels among CPUs are in traffic.
This patch is necessary for host SMP.
Signed-off-by Kevin Tian <kevin.tian@intel.com>
instructions to the generic x86 emulator. Also add
preliminary support for 16-bit addressing: decode the
ModR/M byte properly but still need to access and update
implicit memory operands (esp,esi,edi) with correct width.
Work is also needed to support real-mode addressing.
Signed-off-by: Keir Fraser <keir@xensource.com>