>
> Shouldn't it be possible to do something like:
>
> typedef struct OldMemoryRegionOps {
> MemoryRegionOps parent_ops;
> CPUReadMemoryFunc *readfn[3];
> CPUWriteMemoryFunc *writefn[3];
> void *opaque;
> } OldMemoryRegionOps;
>
> That should allow old-style implementations to be converted witho
register_device_unmigratable()?
Right, but can we have some continuity at least between the two interfaces?
At least make the vmstate flag 'unmigratable' or rename the function to
qdev_set_no_migrate().
Will rename the flag.
BTW, should this be a vmstate flag or a qdev flag?
vmstate. sa
Fix a bug caused by lack of braces in if statement
Lack of braces means that if(count & 0x1ff) is never reached
Conflicts:
qemu-io.c
Signed-off-by: Devin Nakamura
---
qemu-io.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/qemu-io.c b/qemu-io.c
index e484f4
Hi,
It seems that virtex board doesn't have a PCI bus emulation.
I have tried to create one using ppc4xx_pci_init() function but it doesn't work.
Could you help me some ideas to create PCI bus for virtex board?
Or if you have already implemented PCI for virtex (I think that PCI is
necessary
to in
Public bug reported:
1. boot up a guest with 82551 nic
# qemu-kvm -net nic,model=i82551 ...
2. launch netperf server in the guest
3.on the host
for b in 32 64 128 256 512 1024 1460 2048 4096 8192 9000 16384 32768 65495
65507
do ./netperf -t TCP_STREAM -f m -H -P 0 -l 10 -- -m $b
done
for b i
kvm version:
qemu-kvm: commit 525e3df73e40290e95743d4c8f8b64d8d9cbe021
Date: Mon Jul 4 13:36:06 2011 +0300
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/808588
Title:
Netperf tests cause i82551
** Attachment added: "qemu-debug-output.txt"
https://bugs.launchpad.net/bugs/808588/+attachment/2201649/+files/qemu-debug-output.txt
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/808588
Title:
On 07/10/2011 03:33 PM, malc wrote:
On Sun, 10 Jul 2011, Avi Kivity wrote:
fixes BAR sizing as well.
I find this patch disgusting, the read and write handlers in particular.
Shouldn't it be possible to do something like:
typedef struct OldMemoryRegionOps {
MemoryRegionOps parent_ops;
On Sun, 10 Jul 2011, Avi Kivity wrote:
> fixes BAR sizing as well.
I find this patch disgusting, the read and write handlers in particular.
[..snip..]
--
mailto:av1...@comtv.ru
Signed-off-by: Avi Kivity
---
hw/ide/cmd646.c | 208 +++
hw/ide/pci.c| 25 ---
hw/ide/pci.h| 19 -
hw/ide/piix.c | 64 +
hw/ide/via.c| 65 +
5 files changed, 261 insertions(+), 120 d
Signed-off-by: Avi Kivity
---
hw/e1000.c | 114 +--
1 files changed, 48 insertions(+), 66 deletions(-)
diff --git a/hw/e1000.c b/hw/e1000.c
index 96d84f9..8e4830f 100644
--- a/hw/e1000.c
+++ b/hw/e1000.c
@@ -82,7 +82,8 @@ typedef struct E1
Make use of the memory API's ability to satisfy multi-byte accesses via
multiple single-byte accesses.
We have to keep vga_mem_{read,write}b() since they're used by cirrus.
Signed-off-by: Avi Kivity
---
hw/cirrus_vga.c |4 +-
hw/vga.c| 56 +++---
Kevin O'Connor wrote:
I investigated this a bit and I believe the Juniper OS has two SMBIOS
bugs: it crashes when the table is in high memory, and when searching
Are all versions based on FreeBSD 4.11?
Are newer versions still affected?
So, moving the SMBIOS back to the f-segment would fix th
Signed-off-by: Avi Kivity
---
hw/usb-ehci.c | 53 +
1 files changed, 29 insertions(+), 24 deletions(-)
diff --git a/hw/usb-ehci.c b/hw/usb-ehci.c
index 91fb7de..bd7fdcb 100644
--- a/hw/usb-ehci.c
+++ b/hw/usb-ehci.c
@@ -371,8 +371,7 @@ struct
Signed-off-by: Avi Kivity
---
hw/ac97.c |4 ++--
hw/cirrus_vga.c |5 ++---
hw/e1000.c|5 ++---
hw/eepro100.c |7 +++
hw/es1370.c |2 +-
hw/ide/cmd646.c | 14 +-
hw/ide/ich.c |2 +-
hw/ide/piix.c |3 +--
hw/ide/vi
Signed-off-by: Avi Kivity
---
hw/usb-uhci.c | 57 +
1 files changed, 45 insertions(+), 12 deletions(-)
diff --git a/hw/usb-uhci.c b/hw/usb-uhci.c
index 405fa7b..95ef260 100644
--- a/hw/usb-uhci.c
+++ b/hw/usb-uhci.c
@@ -132,6 +132,7 @@ ty
On Fri, Jul 08, 2011 at 09:46:32AM +0200, Bjørn Mork wrote:
> "Kevin O'Connor" writes:
> > It's possible that the OS has an error in handling the SMBIOS when it
> > is in high-memory (located above 1meg). (For example, older versions
> > of Linux crash when the mptable is in high memory.)
[...]
>
Signed-off-by: Avi Kivity
---
hw/rtl8139.c | 172 +-
1 files changed, 51 insertions(+), 121 deletions(-)
diff --git a/hw/rtl8139.c b/hw/rtl8139.c
index 5214b8c..fa661fc 100644
--- a/hw/rtl8139.c
+++ b/hw/rtl8139.c
@@ -474,7 +474,6 @@ typed
An optimization that fast-pathed DMA reads from the SCRIPTS memory
was removed int the process. Likely it breaks with iommus anyway.
Signed-off-by: Avi Kivity
---
hw/lsi53c895a.c | 258 ---
1 files changed, 56 insertions(+), 202 deletions(-)
Convert all vga memory to the memory API. Note we need to fall back to
get_system_memory(), since the various buses don't pass the vga window
as a memory region.
Signed-off-by: Avi Kivity
---
hw/cirrus_vga.c | 345 +--
hw/qxl-render.c |2
Make use of the memory API's ability to satisfy multi-byte accesses via
multiple single-byte accesses.
Signed-off-by: Avi Kivity
---
hw/cirrus_vga.c | 74 ++-
1 files changed, 8 insertions(+), 66 deletions(-)
diff --git a/hw/cirrus_vga.c b/h
Also related chips.
Signed-off-by: Avi Kivity
---
hw/lance.c | 31 --
hw/pcnet-pci.c | 98 ++-
hw/pcnet.h |4 ++-
3 files changed, 85 insertions(+), 48 deletions(-)
diff --git a/hw/lance.c b/hw/lance.c
index ddb
except msix.
Signed-off-by: Avi Kivity
---
hw/virtio-pci.c | 84 +-
hw/virtio-pci.h |2 +-
2 files changed, 46 insertions(+), 40 deletions(-)
diff --git a/hw/virtio-pci.c b/hw/virtio-pci.c
index b3e7ba5..20e6c5b 100644
--- a/hw/virtio-pc
Signed-off-by: Avi Kivity
---
hw/isa.h |2 +
hw/isa_mmio.c | 67 +++--
2 files changed, 29 insertions(+), 40 deletions(-)
diff --git a/hw/isa.h b/hw/isa.h
index d2b6126..f1f2181 100644
--- a/hw/isa.h
+++ b/hw/isa.h
@@ -4,6 +4,7 @@
/
The msix table is defined as a subregion, to allow for a BAR that
mixes device specific regions with the msix table.
Signed-off-by: Avi Kivity
---
hw/ivshmem.c| 11 +
hw/msix.c | 64 +++
hw/msix.h |6 +---
hw/pci
fixes memory leak on repeated BAR map/unmap
Signed-off-by: Avi Kivity
---
hw/sun4u.c | 55 +--
1 files changed, 25 insertions(+), 30 deletions(-)
diff --git a/hw/sun4u.c b/hw/sun4u.c
index d7dcaf0..74a06a8 100644
--- a/hw/sun4u.c
+++ b/hw/su
Signed-off-by: Avi Kivity
---
hw/pci.c | 43 +++
hw/pci.h |1 +
hw/pci_internals.h |3 ++-
3 files changed, 26 insertions(+), 21 deletions(-)
diff --git a/hw/pci.c b/hw/pci.c
index 2659d96..980840f 100644
--- a/hw/pci.c
+++ b/
There is only one function, so no need for a function pointer.
Signed-off-by: Avi Kivity
---
hw/pci.c | 25 +
hw/pci.h |1 -
2 files changed, 9 insertions(+), 17 deletions(-)
diff --git a/hw/pci.c b/hw/pci.c
index 2543ced..04b6372 100644
--- a/hw/pci.c
+++ b/hw/pci
Also add missing destructor.
Signed-off-by: Avi Kivity
---
hw/wdt_i6300esb.c | 59
1 files changed, 45 insertions(+), 14 deletions(-)
diff --git a/hw/wdt_i6300esb.c b/hw/wdt_i6300esb.c
index 53786ce..242a8fa 100644
--- a/hw/wdt_i6300esb.c
+
Signed-off-by: Avi Kivity
---
hw/ide/ahci.c | 31 +--
hw/ide/ahci.h |2 +-
hw/ide/ich.c |3 +--
3 files changed, 15 insertions(+), 21 deletions(-)
diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
index 1f008a3..e207ca0 100644
--- a/hw/ide/ahci.c
+++ b/hw/ide/ahci
Signed-off-by: Avi Kivity
---
hw/intel-hda.c | 49 ++---
1 files changed, 34 insertions(+), 15 deletions(-)
diff --git a/hw/intel-hda.c b/hw/intel-hda.c
index 0ce..0f5c6c4 100644
--- a/hw/intel-hda.c
+++ b/hw/intel-hda.c
@@ -177,7 +177,7 @@ struc
excluding msix.
Signed-off-by: Avi Kivity
---
hw/ivshmem.c | 148 --
1 files changed, 50 insertions(+), 98 deletions(-)
diff --git a/hw/ivshmem.c b/hw/ivshmem.c
index 3055dd2..e028b19 100644
--- a/hw/ivshmem.c
+++ b/hw/ivshmem.c
@@ -56,11
Signed-off-by: Avi Kivity
---
hw/cuda.c |6 ++-
hw/escc.c | 42 +--
hw/escc.h |2 +-
hw/heathrow_pic.c | 29 --
hw/ide.h |2 +-
hw/ide/macio.c| 50 ++--
hw/mac_dbdma.c|
Signed-off-by: Avi Kivity
---
exec.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/exec.c b/exec.c
index e949c91..10ed931 100644
--- a/exec.c
+++ b/exec.c
@@ -3820,7 +3820,7 @@ static void memory_map_init(void)
set_system_memory_map(system_memory);
system_i
Allocate the root memory region and initialize it.
Signed-off-by: Avi Kivity
---
exec.c | 19 +++
1 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/exec.c b/exec.c
index 4c45299..f274ec9 100644
--- a/exec.c
+++ b/exec.c
@@ -33,6 +33,8 @@
#include "kvm.h"
#includ
Allow registering a BAR using a MemoryRegion. Once all users are converted,
pci_register_bar() and pci_register_bar_simple() will be removed.
Signed-off-by: Avi Kivity
---
hw/pci.c | 47 +++
hw/pci.h |3 +++
2 files changed, 42 insertions(+), 8
Superceded by pci_register_bar_region(). The implementations
are folded together.
Signed-off-by: Avi Kivity
---
hw/pci.c | 42 +-
hw/pci.h |3 ---
2 files changed, 17 insertions(+), 28 deletions(-)
diff --git a/hw/pci.c b/hw/pci.c
index 8c7a418..25
This is now done sloppily, via get_system_memory(). Eventually callers
will be converted to stop using that.
Signed-off-by: Avi Kivity
---
hw/apb_pci.c |2 ++
hw/bonito.c|4 +++-
hw/grackle_pci.c |5 +++--
hw/gt64xxx.c |4 +++-
hw/pc.h|4 +++
This lets us register BARs in the I/O address space.
Signed-off-by: Avi Kivity
---
hw/apb_pci.c |1 +
hw/bonito.c|1 +
hw/grackle_pci.c |8 ++--
hw/gt64xxx.c |4 +++-
hw/pc.h|4 +++-
hw/pc_piix.c |6 +-
hw/pci.c |
Signed-off-by: Avi Kivity
---
hw/pc_piix.c | 15 ---
1 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/hw/pc_piix.c b/hw/pc_piix.c
index d83854c..f2d0476 100644
--- a/hw/pc_piix.c
+++ b/hw/pc_piix.c
@@ -68,7 +68,8 @@ static void ioapic_init(IsaIrqState *isa_irq_state)
Signed-off-by: Avi Kivity
---
hw/es1370.c | 62 --
1 files changed, 43 insertions(+), 19 deletions(-)
diff --git a/hw/es1370.c b/hw/es1370.c
index 1ed62b7..a696eb2 100644
--- a/hw/es1370.c
+++ b/hw/es1370.c
@@ -268,6 +268,7 @@ struct chan
Signed-off-by: Avi Kivity
---
hw/pci.c | 20 +++-
hw/pci.h |3 ++-
2 files changed, 9 insertions(+), 14 deletions(-)
diff --git a/hw/pci.c b/hw/pci.c
index 9db6fc8..8c7a418 100644
--- a/hw/pci.c
+++ b/hw/pci.c
@@ -1858,11 +1858,6 @@ static uint8_t pci_find_capability_list(P
Superceded by pci_register_bar_region().
Signed-off-by: Avi Kivity
---
hw/pci.c | 16
hw/pci.h |2 --
2 files changed, 0 insertions(+), 18 deletions(-)
diff --git a/hw/pci.c b/hw/pci.c
index 980840f..9db6fc8 100644
--- a/hw/pci.c
+++ b/hw/pci.c
@@ -923,13 +923,6 @@ void p
get_system_io() returns the root I/O memory region.
Signed-off-by: Avi Kivity
---
exec-memory.h |2 ++
exec.c| 10 ++
2 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/exec-memory.h b/exec-memory.h
index aad21b5..3acb15f 100644
--- a/exec-memory.h
+++ b/exec-m
Since this device bypasses PCI and registers I/O ports directly with
the system bus, it needs further attention.
Signed-off-by: Avi Kivity
---
hw/xen_platform.c | 110
1 files changed, 76 insertions(+), 34 deletions(-)
diff --git a/hw/xen_pl
As with the rest of the memory API, the caller associates an eventfd
with an address, and the memory API takes care of registering or
unregistering when the address is made visible or invisible to the
guest.
Signed-off-by: Avi Kivity
---
memory.c | 218 ++
New in this version:
- use opaque instead of container_of() in memory callbacks
- turns out those container_of()s were hindering reuse
- I/O space access via memory API
- PCI fully converted
- except bridge, which actually benefits most from the conversion
- ioeventfd support
Caveats:
- som
We're going to remove the callback, so we can't use it to save the
address. Use the pci API instead.
Signed-off-by: Avi Kivity
---
hw/vmware_vga.c | 12 ++--
1 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/hw/vmware_vga.c b/hw/vmware_vga.c
index 354c221..190b005 100644
Signed-off-by: Avi Kivity
---
hw/ne2000-isa.c | 14 +++---
hw/ne2000.c | 77 +-
hw/ne2000.h |8 +
3 files changed, 59 insertions(+), 40 deletions(-)
diff --git a/hw/ne2000-isa.c b/hw/ne2000-isa.c
index e41dbba..ce7b365 1
The memory API separates the attributes of a memory region (its size, how
reads or writes are handled, dirty logging, and coalescing) from where it
is mapped and whether it is enabled. This allows a device to configure
a memory region once, then hand it off to its parent bus to map it according
to
Make use of the memory API's ability to satisfy multi-byte accesses via
multiple single-byte accesses.
Signed-off-by: Avi Kivity
---
hw/cirrus_vga.c | 81 +--
1 files changed, 13 insertions(+), 68 deletions(-)
diff --git a/hw/cirrus_vga.c b/
Allow registering I/O ports via the same mechanism as mmio ranges.
Signed-off-by: Avi Kivity
---
exec-memory.h |3 ++
memory.c | 60 -
memory.h |2 +
3 files changed, 64 insertions(+), 1 deletions(-)
diff --git a/exec-m
Prepare for multiple address space support by abstracting away the details
of registering a memory range with qemu's flat representation into an
AddressSpace object.
Note operations which are memory specific are not abstracted, since they will
never be called on I/O address spaces anyway.
Signed-
Note: the existing code aliases the flash BAR into the MMIO bar. This is
probably a bug. This patch does not correct the problem.
Signed-off-by: Avi Kivity
---
hw/eepro100.c | 182 -
1 files changed, 37 insertions(+), 145 deletions(-)
d
Make use of the memory API's ability to satisfy multi-byte accesses via
multiple single-byte accesses.
Signed-off-by: Avi Kivity
---
hw/cirrus_vga.c | 79 +++---
1 files changed, 11 insertions(+), 68 deletions(-)
diff --git a/hw/cirrus_vga.c b/h
Signed-off-by: Avi Kivity
---
hw/usb-ohci.c | 42 +-
1 files changed, 17 insertions(+), 25 deletions(-)
diff --git a/hw/usb-ohci.c b/hw/usb-ohci.c
index 1c29b9f..36885cb 100644
--- a/hw/usb-ohci.c
+++ b/hw/usb-ohci.c
@@ -62,7 +62,7 @@ typedef struct OHCI
get_system_memory() provides the root of the memory hierarchy.
This interface is intended to be private between memory.c and exec.c.
If this file is included elsewhere, it should be regarded as a bug (or
TODO item). However, it will be temporarily needed for the conversion
to hierarchical memory
The I/O port space is byte addressable, even for word and long accesses.
An example is the VMware svga card, which has long ports on offsets 0,
1, and 2.
Signed-off-by: Avi Kivity
---
ioport.c |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/ioport.c b/ioport.c
index
I/O regions will not have ram_addrs, so this is a better name.
Signed-off-by: Avi Kivity
---
memory.c | 18 +-
memory.h |2 +-
2 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/memory.c b/memory.c
index 7187223..5fda4a0 100644
--- a/memory.c
+++ b/memory.c
@@
Currently dirty tracking is implemented by passing through
all calls to the underlying cpu_physical_memory_*() calls.
Signed-off-by: Avi Kivity
---
memory.c | 39 +++
memory.h |1 +
2 files changed, 32 insertions(+), 8 deletions(-)
diff --git a/memory.c
For non-RAM memory regions, we cannot tell whether this is an I/O region
or an MMIO region. Since the qemu backing registration is different for
the two, we have to defer initialization until we know which address
space we are in.
These shenanigans will be removed once the backing registration is
Signed-off-by: Avi Kivity
---
hw/pc.c | 59 ---
hw/pc.h |1 +
2 files changed, 41 insertions(+), 19 deletions(-)
diff --git a/hw/pc.c b/hw/pc.c
index 369566a..1c9d89a 100644
--- a/hw/pc.c
+++ b/hw/pc.c
@@ -41,6 +41,7 @@
#include "sys
fixes BAR sizing as well.
Signed-off-by: Avi Kivity
---
hw/ac97.c | 126 ++--
1 files changed, 88 insertions(+), 38 deletions(-)
diff --git a/hw/ac97.c b/hw/ac97.c
index 0b59896..72a0667 100644
--- a/hw/ac97.c
+++ b/hw/ac97.c
@@ -160,8 +1
While eventually this should come from the machine initialization function,
take a short cut to avoid converting all machines now.
Signed-off-by: Avi Kivity
---
hw/pc.c |3 ++-
hw/pc.h |4 +++-
hw/pc_piix.c |8 +++-
3 files changed, 12 insertions(+), 3 deletions(-)
dif
Make use of the memory API's ability to satisfy multi-byte accesses via
multiple single-byte accesses.
Signed-off-by: Avi Kivity
---
hw/cirrus_vga.c | 78 +-
1 files changed, 8 insertions(+), 70 deletions(-)
diff --git a/hw/cirrus_vga.c b/hw
Allow registering sysbus device memory using a MemoryRegion. Once all users
are converted, sysbus_init_mmio() and sysbus_init_mmio_cb() will be removed.
Signed-off-by: Avi Kivity
---
hw/sysbus.c | 27 ---
hw/sysbus.h |3 +++
2 files changed, 27 insertions(+), 3 del
Simple implementations of memory routers, for example the Cirrus VGA memory
banks
or the 440FX PAM registers can generate adjacent memory regions which are
contiguous.
Detect these and merge them; this saves kvm memory slots and shortens lookup
times.
Signed-off-by: Avi Kivity
---
memory.c |
This is a hack, for devices that have a back-channel to read this
address back outside the normal configuration mechanisms, such
as VMware svga.
Signed-off-by: Avi Kivity
---
hw/pci.c |5 +
hw/pci.h |1 +
2 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/hw/pci.c b/hw/pc
hi,
i am doing some experiments with Qemu. this is to add a new pthread
into Qemu code, like below:
...
pthread_t pt;
pthread_attr_t thread_attr;
pthread_attr_init(&thread_attr);
pthread_attr_setdetachstate(&thread_attr, PTHREAD_CREATE_DETACHED);
pthread_create(&pt, &
Added options to let qemu transfer two configuration files to bios:
"bootsplash.bmp" and "etc/boot-menu-wait", which could be specified by command
-boot splash=P,splash-time=T
P is jpg/bmp file name or an absolute path, T have a max value of 0x, unit
is ms. With these two options, if u
If --no-shutdown is specified it only applies for a single shutdown
, so the second shutdown does trigger an exit of qemu.
This patch changes that to keep on not shuting down.
---
vl.c |1 -
1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/vl.c b/vl.c
index fcd7395..fb694cb 1006
71 matches
Mail list logo