History log of /kvm-unit-tests/x86/vmexit.c (Results 26 – 50 of 55)
Revision Date Author Comments
# cb37ca1e 27-Sep-2017 Serg Titaevskiy <stitaevskiy@virtuozzo.com>

vmexit.c: Fix typos in vmexit test-cases list

Some test-case names were different from arguments passing by
unittests.cfg.
So, these cases didn't PASS really.

Signed-off-by: Serg Titaevskiy <stitae

vmexit.c: Fix typos in vmexit test-cases list

Some test-case names were different from arguments passing by
unittests.cfg.
So, these cases didn't PASS really.

Signed-off-by: Serg Titaevskiy <stitaevskiy@virtuozzo.com>
Message-Id: <1506512498-27529-1-git-send-email-stitaevskiy@virtuozzo.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...


# cfbd129c 29-Jun-2017 Paolo Bonzini <pbonzini@redhat.com>

vmexit: add tscdeadline benchmarks

This places the preemption timer optimization at ~1200 clock cycles
compared to hrtimers (5600 vs. 6800 clock cycles) on a Haswell Xeon
processor.

Avoiding the pr

vmexit: add tscdeadline benchmarks

This places the preemption timer optimization at ~1200 clock cycles
compared to hrtimers (5600 vs. 6800 clock cycles) on a Haswell Xeon
processor.

Avoiding the preemption timer vmexit for immediate LAPIC timer expiration
("tscdeadline_immed") also saves ~1200 clock cycles (2500 vs. 3700).

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...


# b171c8c0 13-Jun-2017 Andrew Jones <drjones@redhat.com>

x86/vmexit: apply on_cpus

Signed-off-by: Andrew Jones <drjones@redhat.com>
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>


# fd6aada0 17-May-2017 Radim Krčmář <rkrcmar@redhat.com>

use %# instead of 0x% in all format strings

It's one character shorter, properly prefixed, and also provides error
detection: %#d triggers a warning.

Done with `sed -i 's/0x%/%#/g' **/*.[ch]` to mo

use %# instead of 0x% in all format strings

It's one character shorter, properly prefixed, and also provides error
detection: %#d triggers a warning.

Done with `sed -i 's/0x%/%#/g' **/*.[ch]` to motivate the use of %#,
existing padding was raised by 2 to account for the counted "0x" (output
should be the same).

Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>

show more ...


# 78609f0e 28-Feb-2017 Alexander Gordeev <agordeev@redhat.com>

pci: Turn struct pci_dev into device handle for PCI functions

Currently struct pci_dev is used for caching PCI device
info used by some functions. This update turns the struct
into device handle tha

pci: Turn struct pci_dev into device handle for PCI functions

Currently struct pci_dev is used for caching PCI device
info used by some functions. This update turns the struct
into device handle that will be used by nearly all existing
and future APIs.

As result of this change a pci_dev should be initialized
with pci_dev_init() and pci_scan_bars() becomes redundant.

Cc: Thomas Huth <thuth@redhat.com>
Cc: Andrew Jones <drjones@redhat.com>
Cc: Peter Xu <peterx@redhat.com>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Signed-off-by: Alexander Gordeev <agordeev@redhat.com>
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>

show more ...


# e954ce23 12-Dec-2016 Peter Xu <peterx@redhat.com>

pci: provide pci_scan_bars()

Let's provide a more general way to scan PCI bars, rather than read the
config registers every time.

Then let x86/vmexit.c leverage pci_scan_bars()

Reviewed-by: Andrew

pci: provide pci_scan_bars()

Let's provide a more general way to scan PCI bars, rather than read the
config registers every time.

Then let x86/vmexit.c leverage pci_scan_bars()

Reviewed-by: Andrew Jones <drjones@redhat.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...


# 4d6cefa9 12-Dec-2016 Peter Xu <peterx@redhat.com>

pci: introduce struct pci_dev

To extend current PCI framework, we need a per-device struct to store
device specific information. Time to have a pci_dev struct. Most of the
current PCI APIs are conve

pci: introduce struct pci_dev

To extend current PCI framework, we need a per-device struct to store
device specific information. Time to have a pci_dev struct. Most of the
current PCI APIs are converted to use this pci_dev object as the first
argument. Currently it only contains one field "bdf", which is the bdf
of current device.

For a few APIs like pci_config_*() ops or pci_find_dev(), I kept the old
interface (use PCI BDF value rather than "struct pci_dev") since they
can be used in a open context that without any specific PCI device.

Reviewed-by: Andrew Jones <drjones@redhat.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...


# e0a5cfca 17-Dec-2016 Paolo Bonzini <pbonzini@redhat.com>

vmexit: add self-ipi speed tests

These are designed to test APICv and optimizations of KVM_REQ_EVENT.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


# 647f92c7 07-Nov-2016 Alexander Gordeev <agordeev@redhat.com>

pci: Add pci_bar_set_addr()

Because the counterpart to pci_bar_set_addr() setter is
pci_bar_addr() getter, these names become inconsistent.
Rename pci_bar_addr() to pci_bar_get_addr() also to make
t

pci: Add pci_bar_set_addr()

Because the counterpart to pci_bar_set_addr() setter is
pci_bar_addr() getter, these names become inconsistent.
Rename pci_bar_addr() to pci_bar_get_addr() also to make
the resulting names conform to each other.

Cc: Thomas Huth <thuth@redhat.com>
Cc: Andrew Jones <drjones@redhat.com>
Cc: Peter Xu <peterx@redhat.com>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Signed-off-by: Alexander Gordeev <agordeev@redhat.com>
Message-Id: <ce732680ee4989d1b2b26361a2c02d24b8bef37b.1478512824.git.agordeev@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...


# f1abb07b 06-Jun-2016 Alexander Gordeev <agordeev@redhat.com>

x86: io: Factor out ioremap()

Cc: Andrew Jones <drjones@redhat.com>
Cc: Thomas Huth <thuth@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Radim Krčmář <rkrcmar@redhat.com>
Reviewed-by: Andr

x86: io: Factor out ioremap()

Cc: Andrew Jones <drjones@redhat.com>
Cc: Thomas Huth <thuth@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Radim Krčmář <rkrcmar@redhat.com>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Signed-off-by: Alexander Gordeev <agordeev@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...


# 55601383 06-Jun-2016 Alexander Gordeev <agordeev@redhat.com>

x86: Introduce lib/x86/asm/io.h

Make x86 consistent with other architectures and put
IO specific defines to lib/x86/asm/io.h

Cc: Andrew Jones <drjones@redhat.com>
Cc: Thomas Huth <thuth@redhat.com>

x86: Introduce lib/x86/asm/io.h

Make x86 consistent with other architectures and put
IO specific defines to lib/x86/asm/io.h

Cc: Andrew Jones <drjones@redhat.com>
Cc: Thomas Huth <thuth@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Radim Krčmář <rkrcmar@redhat.com>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Signed-off-by: Alexander Gordeev <agordeev@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...


# d3a8ad49 18-Jan-2016 Andrew Jones <drjones@redhat.com>

lib/pci: make PCIDEVADDR_INVALID truly invalid

dev addr 0 is valid, just not for the pci-testdev (since the host
bridge is already there). So, while it's not a problem, let's
"fix" it anyway.

Sugge

lib/pci: make PCIDEVADDR_INVALID truly invalid

dev addr 0 is valid, just not for the pci-testdev (since the host
bridge is already there). So, while it's not a problem, let's
"fix" it anyway.

Suggested-by: Alexander Gordeev <agordeev@redhat.com>
Signed-off-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Radim Krčmář <rkrcmar@redhat.com>
Message-Id: <1453140064-9040-9-git-send-email-drjones@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...


# 289ebf8f 18-Jan-2016 Andrew Jones <drjones@redhat.com>

x86: share pci-testdev hdr in common lib

Signed-off-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Radim Krčmář <rkrcmar@redhat.com>
Message-Id: <1453140064-9040-8-git-send-email-drjones@redh

x86: share pci-testdev hdr in common lib

Signed-off-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Radim Krčmář <rkrcmar@redhat.com>
Message-Id: <1453140064-9040-8-git-send-email-drjones@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...


# 456c55bc 18-Jan-2016 Andrew Jones <drjones@redhat.com>

x86: move x86/pci to the common lib

Also move pci_config_read into asm/pci.h

Signed-off-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Radim Krčmář <rkrcmar@redhat.com>
Message-Id: <14531400

x86: move x86/pci to the common lib

Also move pci_config_read into asm/pci.h

Signed-off-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Radim Krčmář <rkrcmar@redhat.com>
Message-Id: <1453140064-9040-7-git-send-email-drjones@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...


# f22a66a1 18-Jan-2016 Andrew Jones <drjones@redhat.com>

x86: use common portio accessors from io.h

x86 code reinvents io*/out* in a few places. To prepare for a common
pci driver use the common accessors from io.h in pci.c and vmexit.c.
Now we use the co

x86: use common portio accessors from io.h

x86 code reinvents io*/out* in a few places. To prepare for a common
pci driver use the common accessors from io.h in pci.c and vmexit.c.
Now we use the correct order (value, port) for out* too.

Signed-off-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Radim Krčmář <rkrcmar@redhat.com>
Message-Id: <1453140064-9040-5-git-send-email-drjones@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...


# a5d12b9f 21-Aug-2015 Paolo Bonzini <pbonzini@redhat.com>

x86: get ACPI port addresses from FADT

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


# a3d1fb55 03-Apr-2014 Paolo Bonzini <pbonzini@redhat.com>

x86: move size #defines to processor.h

These are necessary in many testcases that includes hand-written
assembly, otherwise they will only run for either 32- or 64-bit.

Signed-off-by: Paolo Bonzini

x86: move size #defines to processor.h

These are necessary in many testcases that includes hand-written
assembly, otherwise they will only run for either 32- or 64-bit.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...


# 8a544409 26-Feb-2014 Paolo Bonzini <pbonzini@redhat.com>

vmexit: add mov-to-dr test

Currently each MOV to a debug register causes a debug exit. Add a
testcase to track upcoming improvements.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


# 0b9e64c4 17-Oct-2013 Gleb Natapov <gleb@redhat.com>

Fix compilation on older compilers.

%d0 constrain is wrong, rely on variable length to choose correct
register instead.

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Michael S. Tsir

Fix compilation on older compilers.

%d0 constrain is wrong, rely on variable length to choose correct
register instead.

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Gleb Natapov <gleb@redhat.com>

show more ...


# 5292dbf7 03-Apr-2013 Michael S. Tsirkin <mst@redhat.com>

vmexit: add pci io and memory speed tests

These tests measure speed of mmio and port io
exits using the new pci-testdev.
Skipped when running on old qemu.

Signed-off-by: Michael S. Tsirkin <mst@red

vmexit: add pci io and memory speed tests

These tests measure speed of mmio and port io
exits using the new pci-testdev.
Skipped when running on old qemu.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Gleb Natapov <gleb@redhat.com>

show more ...


# 00bfecaa 13-Dec-2012 Paolo Bonzini <pbonzini@redhat.com>

vmexit: time the number of cycles for simple PIO

This patch adds three scenarios to the vmexit test. Two are very simple
PIO cases that are handled in the kernel (reading from and writing
to ELCR).

vmexit: time the number of cycles for simple PIO

This patch adds three scenarios to the vmexit test. Two are very simple
PIO cases that are handled in the kernel (reading from and writing
to ELCR). The other is an unmapped PIO that is handled in userspace.

The difference between the two reading scenarios is roughly the cost of a
userspace exit; the existing inl_from_pmtimer test is not precise enough,
because the device model has a pretty high cost.

The difference between the kernel read and write is the cost of emulation,
because inl_from_kernel goes through the whole emulation stuff while outl
does not (it is used for virtio, while the speed of inl matters less).

Example:

vmcall 3898
inl_from_pmtimer 24615
inl_from_qemu 20574
inl_from_kernel 7237
outl_to_kernel 4451

So the cost of exiting to userspace is 13000 cycles on this machine,
and the cost of emulation is 3300 cycles.

Suggested-by: Avi Kivity <avi.kivity@gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Gleb Natapov <gleb@redhat.com>

show more ...


# 5fecf5d8 28-Nov-2012 Will Auld <will.auld.intel@gmail.com>

Added tests for ia32_tsc_adjust funtionality.

Added x86/tsc_adjust.c and updated x86/vmexit.c to include timing tests
for reading and writing the emulated IA32_TSC_ADJUST msr.

Signed-off-by: Will A

Added tests for ia32_tsc_adjust funtionality.

Added x86/tsc_adjust.c and updated x86/vmexit.c to include timing tests
for reading and writing the emulated IA32_TSC_ADJUST msr.

Signed-off-by: Will Auld <will.auld@intel.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>

show more ...


# 7d641cc5 06-Jan-2011 Avi Kivity <avi@redhat.com>

vmexit: fix race in joining smp tests

'nr_cpus_done' is not incremented atomically; this has been observed to
cause tests to stall. Fix by using a proper atomic increment.

Signed-off-by: Avi Kivit

vmexit: fix race in joining smp tests

'nr_cpus_done' is not incremented atomically; this has been observed to
cause tests to stall. Fix by using a proper atomic increment.

Signed-off-by: Avi Kivity <avi@redhat.com>

show more ...


# eda71b28 19-Dec-2010 Avi Kivity <avi@redhat.com>

vmexit: add ple stress test

This test round-robins executions among all cpus. If overcommitted, it will
execute at the rate the host switches vcpu contexts.

Signed-off-by: Avi Kivity <avi@redhat.c

vmexit: add ple stress test

This test round-robins executions among all cpus. If overcommitted, it will
execute at the rate the host switches vcpu contexts.

Signed-off-by: Avi Kivity <avi@redhat.com>

show more ...


# 0b267183 19-Dec-2010 Avi Kivity <avi@redhat.com>

vmexit: add support for running a selected set of tests

qemu -device testdev,chardev=log -chardev stdio,id=log \
-kernel vmexit.flat -append 'test1 test2 test3'

will run test1, test2, and

vmexit: add support for running a selected set of tests

qemu -device testdev,chardev=log -chardev stdio,id=log \
-kernel vmexit.flat -append 'test1 test2 test3'

will run test1, test2, and test3, and skip all others.

Signed-off-by: Avi Kivity <avi@redhat.com>

show more ...


123