From: Dongjiu Geng
This patch implements APEI GHES Table generation via fw_cfg blobs. Now
it only supports ARMv8 SEA, a type of GHESv2 error source. Afterwards,
we can extend the supported types if needed. For the CPER section,
currently it is memory section because kernel mainly wants userspace
From: Dongjiu Geng
kvm_hwpoison_page_add() and kvm_unpoison_all() will both be used by X86
and ARM platforms, so moving them into "accel/kvm/kvm-all.c" to avoid
duplicate code.
For architectures that don't use the poison-list functionality the
reset handler will harmlessly do nothing, so let's r
From: Dongjiu Geng
Add a SIGBUS signal handler. In this handler, it checks the SIGBUS type,
translates the host VA delivered by host to guest PA, then fills this PA
to guest APEI GHES memory, then notifies guest according to the SIGBUS
type.
When guest accesses the poisoned memory, it will gener
From: Dongjiu Geng
RAS Virtualization feature is not supported now, so add a RAS machine
option and disable it by default.
Signed-off-by: Dongjiu Geng
Signed-off-by: Xiang Zheng
---
hw/arm/virt.c | 23 +++
include/hw/arm/virt.h | 1 +
2 files changed, 24 insertion
Am 15.10.2019 um 15:55 hat Peter Maydell geschrieben:
> On Tue, 15 Oct 2019 at 13:40, Kevin Wolf wrote:
> >
> > We added more generic options after introducing -blockdev and forgot to
> > update the documentation (man page and --help output) accordingly. Do
> > that now.
> >
> > Signed-off-by: Kev
From: Dongjiu Geng
Add APEI/GHES detailed design document
Signed-off-by: Dongjiu Geng
Signed-off-by: Xiang Zheng
---
docs/specs/acpi_hest_ghes.rst | 94 +++
docs/specs/index.rst | 1 +
2 files changed, 95 insertions(+)
create mode 100644 docs
In the ARMv8 platform, the CPU error types are synchronous external abort(SEA)
and SError Interrupt (SEI). If exception happens in guest, sometimes it's better
for guest to perform the recovery, because host does not know the detailed
information of guest. For example, if an exception happens in a
On 10/15/19 9:05 AM, Kevin Wolf wrote:
+@item force-share
+Override the image locking system of QEMU and force the node to allowing
+sharing all permissions with other uses.
Grammar nit: "to allow sharing"; but maybe the phrasing could
be clarified anyway -- I'm not entirely sure what 'sharing
IMGOPTS can never be empty for qcow2, because the check scripts adds
compat=1.1 unless the user specified any compat option themselves.
Thus, this block does not do anything and can be dropped.
Signed-off-by: Max Reitz
Reviewed-by: Maxim Levitsky
---
tests/qemu-iotests/050 | 4
1 file chan
This is useful for tests that want to whitelist fields from dump-header
(with grep) but still print all header extensions.
Signed-off-by: Max Reitz
---
tests/qemu-iotests/qcow2.py | 5 +
1 file changed, 5 insertions(+)
diff --git a/tests/qemu-iotests/qcow2.py b/tests/qemu-iotests/qcow2.py
i
Print the feature fields as a set of bits so that filtering is easier.
Signed-off-by: Max Reitz
---
tests/qemu-iotests/031.out | 36 +--
tests/qemu-iotests/036.out | 18 +-
tests/qemu-iotests/039.out | 22 ++--
tests/qemu-iotests/060.out | 20 +--
test
Hi,
The cover letter from v1 (explaining the motivation behind this series
and the general structure) is here:
https://lists.nongnu.org/archive/html/qemu-block/2019-09/msg01323.html
For v2, I’ve tried to address Maxim’s comments:
- Patch 1 through 3: New
- Patch 4: Only print feature bits inste
Signed-off-by: Max Reitz
---
tests/qemu-iotests/common.filter | 24
1 file changed, 24 insertions(+)
diff --git a/tests/qemu-iotests/common.filter b/tests/qemu-iotests/common.filter
index 9f418b4881..63bc6f6f26 100644
--- a/tests/qemu-iotests/common.filter
+++ b/tests/qe
Just rm will not delete external data files. Use _rm_test_img every
time we delete a test image.
(In the process, clean up the indentation of every _cleanup() this patch
touches.)
((Also, use quotes consistently. I am happy to see unquoted instances
like "rm -rf $TEST_DIR/..." go.))
Signed-off
Overwriting IMGOPTS means ignoring all user-supplied options, which is
not what we want. Replace the current IMGOPTS use by a new BACKING_FILE
variable.
Signed-off-by: Max Reitz
---
tests/qemu-iotests/267 | 12
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/tests/qem
This test can run just fine with other values for refcount_bits, so we
should filter the value from qcow2.py's dump-header. In fact, we can
filter everything but the feature bits and header extensions, because
that is what the test is about.
(036 currently ignores user-specified image options, bu
Use _make_test_img whenever possible. This way, we will not ignore
user-specified image options.
Signed-off-by: Max Reitz
Reviewed-by: Maxim Levitsky
---
tests/qemu-iotests/094 | 2 +-
tests/qemu-iotests/111 | 3 +--
tests/qemu-iotests/123 | 2 +-
tests/qemu-iotests/153 | 2 +-
tests/qemu-iote
Some tests require compat=1.1 and thus set IMGOPTS='compat=1.1'
globally. That is not how it should be done; instead, they should
simply set _unsupported_imgopts to compat=0.10 (compat=1.1 is the
default anyway).
This makes the tests heed user-specified $IMGOPTS. Some do not work
with all image
The only difference is that the json:{} filename of the image looks
different. We actually do not care about that filename in this test, we
are only interested in (1) that there is a json:{} filename, and (2)
whether the backing filename can be constructed.
So just filter out the json:{} data, th
This will allow us to add more options than just -b.
Signed-off-by: Max Reitz
Reviewed-by: Maxim Levitsky
---
tests/qemu-iotests/common.rc | 28
1 file changed, 20 insertions(+), 8 deletions(-)
diff --git a/tests/qemu-iotests/common.rc b/tests/qemu-iotests/common.r
Tests should not overwrite all user-supplied image options, but only add
to it (which will effectively overwrite conflicting values). Accomplish
this by passing options to _make_test_img via -o instead of $IMGOPTS.
For some tests, there is no functional change because they already only
appended o
We do not care about the json:{} filenames here, so we can just filter
them out and thus make the test work both with and without external data
files.
Signed-off-by: Max Reitz
---
tests/qemu-iotests/198 | 6 --
tests/qemu-iotests/198.out | 4 ++--
2 files changed, 6 insertions(+), 4 dele
Blindly overriding IMGOPTS is suboptimal as this discards user-specified
options. Whatever options the test needs should simply be appended.
Some tests do this (with IMGOPTS=$(_optstr_add "$IMGOPTS" "...")), but
that is cumbersome. It’s simpler to just give _make_test_img an -o
parameter with wh
Signed-off-by: Max Reitz
Reviewed-by: Maxim Levitsky
---
tests/qemu-iotests/071 | 4 ++--
tests/qemu-iotests/174 | 2 +-
tests/qemu-iotests/178 | 4 ++--
tests/qemu-iotests/197 | 4 ++--
tests/qemu-iotests/215 | 4 ++--
5 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/tests/qemu-io
The image end offset as reported by qemu-img check is different when
using an external data file; we do not care about its value here, so we
can just filter it. Incidentally, common.rc already has _check_test_img
for us which does exactly that.
Signed-off-by: Max Reitz
---
tests/qemu-iotests/09
It did not matter before, but now that _make_test_img understands -o, we
should use it properly here.
Signed-off-by: Max Reitz
Reviewed-by: Maxim Levitsky
---
tests/qemu-iotests/051 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/qemu-iotests/051 b/tests/qemu-iotests/0
Signed-off-by: Max Reitz
---
tests/qemu-iotests/007 | 5 +++--
tests/qemu-iotests/014 | 2 ++
tests/qemu-iotests/015 | 5 +++--
tests/qemu-iotests/026 | 5 -
tests/qemu-iotests/029 | 5 +++--
tests/qemu-iotests/031 | 6 +++---
tests/qemu-iotests/036 | 5 +++--
tests/qemu-iotests/039 | 3 +++
This will not work with external data files, so try to get tests working
without it as far as possible.
Signed-off-by: Max Reitz
Reviewed-by: Maxim Levitsky
---
tests/qemu-iotests/063 | 12
tests/qemu-iotests/063.out | 3 ++-
tests/qemu-iotests/085 | 9 +++--
tests/qe
When using an external data file, there are no refcounts for data
clusters. We thus have to adjust the corruption test in this patch to
not be based around a data cluster allocation, but the L2 table
allocation (L2 tables are still refcounted with external data files).
Furthermore, we should not
From: Tianyu Lan
Hyper-V direct tlb flush targets KVM on Hyper-V guest.
Enable direct TLB flush for its guests meaning that TLB
flush hypercalls are handled by Level 0 hypervisor (Hyper-V)
bypassing KVM in Level 1. Due to the different ABI for hypercall
parameters between Hyper-V and KVM, KVM cap
From: Tianyu Lan
This patchset is to enable Hyper-V direct tlbflush
feature. The feature is to let L0 hypervisor to handle
tlb flush hypercall for L1 hypervisor.
Tianyu Lan (2):
linux headers: update against Linux 5.4-rc2
target/i386/kvm: Add Hyper-V direct tlb flush support
docs/hyperv.tx
The problem with allowing the data_file option is that you want to use a
different data file per image used in the test. Therefore, we need to
allow patterns like -o data_file='$TEST_IMG.data_file'.
Then, we need to filter it out from qemu-img map, qemu-img create, and
remove the data file in _rm
From: Tianyu Lan
commit da0c9ea146cbe92b832f1b0f694840ea8eb33cce
Signed-off-by: Tianyu Lan
---
include/standard-headers/asm-x86/bootparam.h | 2 +
include/standard-headers/asm-x86/kvm_para.h | 1 +
include/standard-headers/linux/ethtool.h | 24 ++
include/standard-headers/linux/
On Tue, 15 Oct 2019 at 15:02, Xiang Zheng wrote:
>
> From: Dongjiu Geng
>
> This patch implements APEI GHES Table generation via fw_cfg blobs. Now
> it only supports ARMv8 SEA, a type of GHESv2 error source. Afterwards,
> we can extend the supported types if needed. For the CPER section,
> curren
On 10/11/19 2:32 AM, Vladimir Sementsov-Ogievskiy wrote:
11.10.2019 0:00, Eric Blake wrote:
Qemu as server currently won't accept export names larger than 256
bytes, nor create dirty bitmap names longer than 1023 bytes, so most
uses of qemu as client or server have no reason to get anywhere near
On Tue, 15 Oct 2019 at 15:02, Xiang Zheng wrote:
>
> From: Dongjiu Geng
>
> Add APEI/GHES detailed design document
>
> Signed-off-by: Dongjiu Geng
> Signed-off-by: Xiang Zheng
> ---
> docs/specs/acpi_hest_ghes.rst | 94
> +++
> docs/specs/index.rst
On Tue, 15 Oct 2019 at 15:02, Xiang Zheng wrote:
>
> From: Dongjiu Geng
>
> Add a SIGBUS signal handler. In this handler, it checks the SIGBUS type,
> translates the host VA delivered by host to guest PA, then fills this PA
> to guest APEI GHES memory, then notifies guest according to the SIGBUS
Hello,
I've been using the LEON3 port of qemu, and am wondering if anyone has
touched the networking setup for such since the thread here:
https://lists.rtems.org/pipermail/users/2014-September/028224.html
Joshua Shaffer
--
Notice: This message is intended solely for use of the individual or en
Extended L2 entries are 128-bit wide: 64 bits for the entry itself and
64 bits for the subcluster allocation bitmap.
In order to support them correctly get/set_l2_entry() need to be
updated so they take the entry width into account in order to
calculate the correct offset.
This patch also adds th
In the previous patch we added a new QCow2ClusterType named
QCOW2_CLUSTER_UNALLOCATED_SUBCLUSTER. There is a couple of places
where this new value needs to be handled, and that is what this patch
does.
Signed-off-by: Alberto Garcia
---
block/qcow2.c | 10 +++---
1 file changed, 7 insertions(
Setting the QCOW_OFLAG_ZERO bit of the L2 entry is forbidden if an
image has subclusters. Instead, the individual 'all zeroes' bits must
be used.
Signed-off-by: Alberto Garcia
---
block/qcow2-cluster.c | 6 +-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/block/qcow2-cluster.c
handle_alloc() creates a QCowL2Meta structure in order to update the
image metadata and perform the necessary copy-on-write operations.
This patch moves that code to a separate function so it can be used
from other places.
Signed-off-by: Alberto Garcia
---
block/qcow2-cluster.c | 76 +++
The size of an L2 entry is 64 bits, but if we want to have subclusters
we need extended L2 entries. This means that we have to access L2
tables and slices differently depending on whether an image has
extended L2 entries or not.
This patch replaces all l2_slice[] accesses with calls to
get_l2_entr
qcow2 images with subclusters have 128-bit L2 entries. The first 64
bits contain the same information as traditional images and the last
64 bits form a bitmap with the status of each individual subcluster.
Because of that we cannot assume that L2 entries are sizeof(uint64_t)
anymore. This function
Subcluster allocation in qcow2 is implemented by extending the
existing L2 table entries and adding additional information to
indicate the allocation status of each subcluster.
This patch documents the changes to the qcow2 format and how they
affect the calculation of the L2 cache size.
Signed-of
This function will be used by the qcow2 code to check if an image has
subclusters or not.
At the moment this simply returns false. Once all patches needed for
subcluster support are ready then QEMU will be able to create and
read images with subclusters and this function will return the actual
val
This function returns the type of an individual subcluster. If an
image does not have subclusters then this returns the exact same value
as qcow2_get_cluster_type().
The information in standard and extended L2 entries is encoded in a
slightly different way, but all existing QCow2ClusterType values
Hi,
this series adds a new feature to the qcow2 on-disk format called
"Extended L2 Entries", which allows us to do subcluster allocation.
This cover letter explains the reasons behind this proposal, the
changes to the on-disk format, test results and pending work. If you
are curious you can also
When writing to a qcow2 file there are two functions that take a
virtual offset and return a host offset, possibly allocating new
clusters if necessary:
- handle_copied() looks for normal data clusters that are already
allocated and have a reference count of 1. In those clusters we
ca
Now that the implementation of subclusters is complete we can finally
add the necessary options to create and read images with this feature,
which we call "extended L2 entries".
Signed-off-by: Alberto Garcia
---
block/qcow2.c| 47 ++
block/qcow2.h
Two changes are needed in order to add subcluster support to this
function: deallocated clusters must have their bitmaps cleared, and
expanded clusters must have all the "subcluster allocated" bits set.
Signed-off-by: Alberto Garcia
---
block/qcow2-cluster.c | 2 ++
1 file changed, 2 insertions(
For a given offset, return the subcluster number within its cluster
(i.e. with 32 subclusters per cluster it returns a number between 0
and 31).
Signed-off-by: Alberto Garcia
---
block/qcow2.h | 5 +
1 file changed, 5 insertions(+)
diff --git a/block/qcow2.h b/block/qcow2.h
index e6486a2cf8
The L2 bitmap needs to be updated after each write to indicate what
new subclusters are now allocated.
This needs to happen even if the cluster was already allocated and the
L2 entry was otherwise valid.
Signed-off-by: Alberto Garcia
---
block/qcow2-cluster.c | 16
1 file chang
l2meta_cow_start() and l2meta_cow_end() are not necessarily
cluster-aligned if the image has subclusters, so update the
calculation of old_start and old_end to guarantee that no two requests
try to write on the same cluster.
Signed-off-by: Alberto Garcia
---
block/qcow2-cluster.c | 4 ++--
1 fil
We are going to need it in other places.
Signed-off-by: Alberto Garcia
---
block/qcow2-cluster.c | 34 +++---
1 file changed, 19 insertions(+), 15 deletions(-)
diff --git a/block/qcow2-cluster.c b/block/qcow2-cluster.c
index fe2523ed66..f462e169c0 100644
--- a/block/
This patch adds the following new fields to BDRVQcow2State:
- subclusters_per_cluster: Number of subclusters in a cluster
- subcluster_size: The size of each subcluster, in bytes
- subcluster_bits: No. of bits so 1 << subcluster_bits = subcluster_size
Images without subclusters are treated as if
Setting the QCOW_OFLAG_ZERO bit of the L2 entry is forbidden if an
image has subclusters. Instead, the individual 'all zeroes' bits must
be used.
Signed-off-by: Alberto Garcia
---
block/qcow2-cluster.c | 14 ++
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/block/qcow
Ideally it should be possible to zero individual subclusters using
this function, but this is currently not implemented.
Signed-off-by: Alberto Garcia
---
block/qcow2.c | 6 ++
1 file changed, 6 insertions(+)
diff --git a/block/qcow2.c b/block/qcow2.c
index c54278ab0b..2eb032aed7 100644
---
Setting the QCOW_OFLAG_ZERO bit of the L2 entry is forbidden if an
image has subclusters. Instead, the individual 'all zeroes' bits must
be used.
Signed-off-by: Alberto Garcia
---
block/qcow2-refcount.c | 9 +++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/block/qcow2-refc
The logic of this function remains pretty much the same, except that
it uses count_contiguous_subclusters(), which combines the logic of
count_contiguous_clusters() / count_contiguous_clusters_unallocated()
and checks individual subclusters.
Signed-off-by: Alberto Garcia
---
block/qcow2-cluster.
The bdrv_co_pwrite_zeroes() call here fills complete clusters with
zeroes, but it can happen that some subclusters are not part of the
write request or the copy-on-write. This patch makes sure that only
the affected subclusters are overwritten.
A potential improvement would be to also fill with ze
If an image has subclusters then there are more copy-on-write
scenarios that we need to consider. Let's say we have a write request
from the middle of subcluster #3 until the end of the cluster:
- If the cluster is new, then subclusters #0 to #3 from the old
cluster must be copied into the
On 10/15/19 2:24 PM, Peter Maydell wrote:
On Mon, 14 Oct 2019 at 09:57, Stefan Hajnoczi wrote:
The following changes since commit 98b2e3c9ab3abfe476a2b02f8f51813edb90e72d:
Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' into
staging (2019-10-08 16:08:35 +0100)
are
On 10/15/19 10:23 AM, Alberto Garcia wrote:
Now that the implementation of subclusters is complete we can finally
add the necessary options to create and read images with this feature,
which we call "extended L2 entries".
Signed-off-by: Alberto Garcia
---
+++ b/qapi/block-core.json
@@ -85,6
On 10/15/19 2:39 PM, Kevin Wolf wrote:
Instead of using monitor_printf() to report errors, hmp_commit() should
use error_report() like other places do.
Signed-off-by: Kevin Wolf
---
blockdev.c | 7 +++
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/blockdev.c b/blockdev.c
On Tue, 15 Oct 2019 at 16:38, Philippe Mathieu-Daudé wrote:
>
> On 10/15/19 2:24 PM, Peter Maydell wrote:
> > On Mon, 14 Oct 2019 at 09:57, Stefan Hajnoczi wrote:
> >>
> >> The following changes since commit
> >> 98b2e3c9ab3abfe476a2b02f8f51813edb90e72d:
> >>
> >>Merge remote-tracking branch
On 10/15/19 10:23 AM, Alberto Garcia wrote:
Hi,
this series adds a new feature to the qcow2 on-disk format called
"Extended L2 Entries", which allows us to do subcluster allocation.
This cover letter explains the reasons behind this proposal, the
changes to the on-disk format, test results and
Since ee5d0f89d, -1 is not valid for the value of reboot-timeout. Update
that in qemu-options doc.
Signed-off-by: Han Han
---
qemu-options.hx | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/qemu-options.hx b/qemu-options.hx
index 793d70ff..6b92a916 100644
--- a/qemu-optio
On Mon, 14 Oct 2019 at 17:03, Kevin Wolf wrote:
>
> The following changes since commit 22dbfdecc3c52228d3489da3fe81da92b21197bf:
>
> Merge remote-tracking branch 'remotes/awilliam/tags/vfio-update-20191010.0'
> into staging (2019-10-14 15:09:08 +0100)
>
> are available in the Git repository at:
15.10.2019 18:07, Eric Blake wrote:
> On 10/11/19 2:32 AM, Vladimir Sementsov-Ogievskiy wrote:
>> 11.10.2019 0:00, Eric Blake wrote:
>>> Qemu as server currently won't accept export names larger than 256
>>> bytes, nor create dirty bitmap names longer than 1023 bytes, so most
>>> uses of qemu as cl
These devices implemented their load_state_old() handler 10 years
ago, previous to QEMU v0.12.
Since commit cc425b5ddf removed the pc-0.10 and pc-0.11 machines,
we can drop this code.
Note: the mips_r4k machine started to use the i8254 device just
after QEMU v0.5.0, but the MIPS machine types are
Move the KVM-related call to "sysemu/kvm.h".
Signed-off-by: Philippe Mathieu-Daudé
---
include/hw/i386/pc.h | 1 -
include/sysemu/kvm.h | 1 +
2 files changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index 6df4f4b6fb..09e74e7764 100644
--- a/includ
Hi,
This series is a rework of "piix4: cleanup and improvements" [1]
from Hervé, and my "remove i386/pc dependency: PIIX cleanup" [2].
Still trying to remove the strong X86/PC dependency 2 years later,
one step at a time.
Here we split the PIIX3 southbridge from i440FX northbridge.
The i440FX nor
From: Philippe Mathieu-Daudé
The ISA default number for the RTC devices is not related to its
registers neither. Move this definition to "hw/timer/mc146818rtc.h".
Signed-off-by: Philippe Mathieu-Daudé
---
include/hw/timer/mc146818rtc.h | 2 ++
include/hw/timer/mc146818rtc_regs.h | 2 --
t
From: Philippe Mathieu-Daudé
Devices/boards wanting to use the MC146818 RTC don't need
the knowledge its internal registers. Move the "mc146818rtc_regs.h"
inclusion to mc146818rtc.c where it is required.
We can not move this file from include/hw/timer/ to hw/timer/ for
local inclusion because th
From: Philippe Mathieu-Daudé
The PIIX4 Southbridge is not used by the PC machine,
but by the Malta board (MIPS). Add a new section to
keep it covered.
Suggested-by: Michael S. Tsirkin
Signed-off-by: Philippe Mathieu-Daudé
---
MAINTAINERS | 7 ++-
1 file changed, 6 insertions(+), 1 deletio
From: Hervé Poussineau
We are now able to embed a timer in another object.
Acked-by: Michael S. Tsirkin
Acked-by: Paolo Bonzini
Signed-off-by: Hervé Poussineau
Message-Id: <20171216090228.28505-4-hpous...@reactos.org>
Signed-off-by: Philippe Mathieu-Daudé
---
hw/timer/mc146818rtc.c
I forgot to Cc David and Daniel for this one.
On 10/15/19 6:26 PM, Philippe Mathieu-Daudé wrote:
These devices implemented their load_state_old() handler 10 years
ago, previous to QEMU v0.12.
Since commit cc425b5ddf removed the pc-0.10 and pc-0.11 machines,
we can drop this code.
Note: the mips
From: Hervé Poussineau
We are not required anymore to use rtc_init() function.
Acked-by: Michael S. Tsirkin
Acked-by: Paolo Bonzini
Signed-off-by: Hervé Poussineau
Message-Id: <20171216090228.28505-5-hpous...@reactos.org>
[PMD: rebased, fix OBJECT() value]
Signed-off-by: Philippe Mathieu-Daud
From: Hervé Poussineau
PIIX4 structure is now 's'
PCI device is now 'pci_dev'
DeviceState is now 'dev'
Acked-by: Michael S. Tsirkin
Acked-by: Paolo Bonzini
Signed-off-by: Hervé Poussineau
Message-Id: <20171216090228.28505-6-hpous...@reactos.org>
Signed-off-by: Philippe Mathieu-Daudé
---
hw/
From: Hervé Poussineau
Other piix4 parts are already named piix4-ide and piix4-usb-uhci.
Reviewed-by: Philippe Mathieu-Daudé
Acked-by: Michael S. Tsirkin
Acked-by: Paolo Bonzini
Signed-off-by: Hervé Poussineau
Message-Id: <20171216090228.28505-15-hpous...@reactos.org>
[PMD: rebased]
Signed-o
From: Hervé Poussineau
Remove i8257 instanciated in malta board, to not have it twice.
Acked-by: Michael S. Tsirkin
Acked-by: Paolo Bonzini
Signed-off-by: Hervé Poussineau
Message-Id: <20171216090228.28505-9-hpous...@reactos.org>
[PMD: rebased]
Signed-off-by: Philippe Mathieu-Daudé
---
hw/i
From: Hervé Poussineau
Add ISA irqs as piix4 gpio in, and CPU interrupt request as piix4 gpio out.
Remove i8259 instanciated in malta board, to not have it twice.
We can also remove the now unused piix4_init() function.
Acked-by: Michael S. Tsirkin
Acked-by: Paolo Bonzini
Signed-off-by: Hervé
From: Hervé Poussineau
The RCR I/O port (0xcf9) is used to generate a hard reset or a soft reset.
Acked-by: Michael S. Tsirkin
Acked-by: Paolo Bonzini
Signed-off-by: Hervé Poussineau
Message-Id: <20171216090228.28505-7-hpous...@reactos.org>
[PMD: rebased, updated includes]
Signed-off-by: Phil
From: Hervé Poussineau
Acked-by: Michael S. Tsirkin
Acked-by: Paolo Bonzini
Signed-off-by: Hervé Poussineau
Message-Id: <20180106153730.30313-15-hpous...@reactos.org>
Signed-off-by: Philippe Mathieu-Daudé
---
hw/isa/piix4.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff
From: Philippe Mathieu-Daudé
Remove mc146818rtc instanciated in malta board, to not have it twice.
Acked-by: Michael S. Tsirkin
Acked-by: Paolo Bonzini
Signed-off-by: Hervé Poussineau
Message-Id: <20171216090228.28505-13-hpous...@reactos.org>
[PMD: rebased, set RTC base_year to 2000]
Signed-o
From: Philippe Mathieu-Daudé
This function isn't used anymore.
This reverts commit 22ec3283efba9ba0792790da786d6776d83f2a92.
Signed-off-by: Philippe Mathieu-Daudé
---
hw/core/irq.c| 14 --
include/hw/irq.h | 5 -
2 files changed, 19 deletions(-)
diff --git a/hw/core/irq.
From: Hervé Poussineau
Remove i8254 instanciated in malta board, to not have it twice.
Acked-by: Michael S. Tsirkin
Acked-by: Paolo Bonzini
Signed-off-by: Hervé Poussineau
Message-Id: <20171216090228.28505-10-hpous...@reactos.org>
Signed-off-by: Philippe Mathieu-Daudé
---
hw/isa/piix4.c
The Malta board instantiate a PIIX4 chipset doing various
calls. Refactor all those related calls into a single
function: piix4_create().
Signed-off-by: Philippe Mathieu-Daudé
---
hw/mips/mips_malta.c | 47 +++-
1 file changed, 29 insertions(+), 18 deletio
From: Philippe Mathieu-Daudé
Now that we properly refactored the piix4_create() function, let's
move it to hw/isa/piix4.c where it belongs, so it can be reused
on other places.
Signed-off-by: Philippe Mathieu-Daudé
---
hw/isa/piix4.c| 30 ++
hw/mips/
The IRQ Route Control registers definitions belong to the PIIX
chipset. We were only defining the 'A' register. Define the other
B, C and D registers, and use them.
Signed-off-by: Philippe Mathieu-Daudé
---
hw/i386/xen/xen-hvm.c | 5 +++--
hw/mips/gt64xxx_pci.c | 4 ++--
hw/pci-h
In the next commit we'll refactor the PIIX4 code out of
mips_malta_init(). As a preliminary step, add the 'ide_drives'
variable and create the drive array dynamically.
Signed-off-by: Philippe Mathieu-Daudé
---
hw/mips/mips_malta.c | 7 +--
1 file changed, 5 insertions(+), 2 deletions(-)
dif
The i8259 creation code is common to all PC machines, extract the
common code.
Signed-off-by: Philippe Mathieu-Daudé
---
hw/i386/pc.c | 19 +++
hw/i386/pc_piix.c| 13 +
hw/i386/pc_q35.c | 14 +-
include/hw/i386/pc.h | 1 +
4 files changed,
The GSI creation code is common to all PC machines, extract the
common code.
Signed-off-by: Philippe Mathieu-Daudé
---
hw/i386/pc.c | 15 +++
hw/i386/pc_piix.c| 9 +
hw/i386/pc_q35.c | 9 +
include/hw/i386/pc.h | 2 ++
4 files changed, 19 insertions
pc_gsi_create() is the single function that uses gsi_handler.
Make it a static variable.
Signed-off-by: Philippe Mathieu-Daudé
---
hw/i386/pc.c | 2 +-
include/hw/i386/pc.h | 2 --
2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index a7597c6c44.
Extract the PIIX3 creation code from the i440fx_init() function.
Signed-off-by: Philippe Mathieu-Daudé
---
hw/pci-host/piix.c | 51 --
1 file changed, 31 insertions(+), 20 deletions(-)
diff --git a/hw/pci-host/piix.c b/hw/pci-host/piix.c
index 2f4cbcb
By extracting pc_gsi_create() and pc_i8259_create() we removed
the access to "kvm_i386.h" from the machine code. We can now
remove it.
Signed-off-by: Philippe Mathieu-Daudé
---
hw/i386/pc_piix.c | 1 -
hw/i386/pc_q35.c | 1 -
2 files changed, 2 deletions(-)
diff --git a/hw/i386/pc_piix.c b/hw/
The block code related to IRQ start few lines later. Move
the comment and the pc_gsi_create() call where we start
to use the IRQs.
Signed-off-by: Philippe Mathieu-Daudé
---
hw/i386/pc_q35.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q3
From: Philippe Mathieu-Daudé
The RCR_IOPORT register belongs to the PIIX chipset.
Move the definition to "piix.h".
Signed-off-by: Philippe Mathieu-Daudé
---
hw/pci-host/piix.c| 1 +
include/hw/i386/pc.h | 6 --
include/hw/southbridge/piix.h | 6 ++
3 files changed,
From: Philippe Mathieu-Daudé
Move all the PIIX3 functions to a new file: hw/isa/piix3.c.
Signed-off-by: Philippe Mathieu-Daudé
---
Checkpatch warning:
ERROR: spaces required around that '*' (ctx:VxV)
#312: FILE: hw/isa/piix3.c:248:
+.subsections = (const VMStateDescription*[]) {
101 - 200 of 299 matches
Mail list logo