From: "Michael S. Tsirkin" <mst@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Peter Maydell" <peter.maydell@linaro.org>,
"Stefan Hajnoczi" <stefanha@redhat.com>,
"xiaoqiang zhao" <zxq_yx_007@163.com>,
"Stefan Weil" <sw@weilnetz.de>,
"Gabriel L. Somlo" <somlo@cmu.edu>,
"Michael Tokarev" <mjt@tls.msk.ru>,
"Alexander Graf" <agraf@suse.de>,
"Markus Armbruster" <armbru@redhat.com>,
"Gabriel L. Somlo" <gsomlo@gmail.com>,
"Anthony Liguori" <aliguori@amazon.com>,
=?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
Subject: [Qemu-devel] [PULL v2 06/11] apic: use emulated lapic version 0x14 on pc machines >= 2.1
Date: Wed, 7 May 2014 19:17:08 +0300 [thread overview]
Message-ID: <1399479367-31336-7-git-send-email-mst@redhat.com> (raw)
In-Reply-To: <1399479367-31336-1-git-send-email-mst@redhat.com>
From: "Gabriel L. Somlo" <gsomlo@gmail.com>
Add "version" property to local apic, and have it default to
0x14 for pc machines starting at 2.1. For compatibility with
previous releases, pc machines up to 2.0 will have their local
apic version set to 0x11.
Signed-off-by: Gabriel L. Somlo <somlo@cmu.edu>
Acked-by: Alexander Graf <agraf@suse.de>
Reviewed-by: Andreas Färber <afaerber@suse.de>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
include/hw/i386/apic_internal.h | 1 +
include/hw/i386/pc.h | 3 +++
hw/intc/apic.c | 2 +-
hw/intc/apic_common.c | 1 +
4 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/include/hw/i386/apic_internal.h b/include/hw/i386/apic_internal.h
index 70542a6..83e2a42 100644
--- a/include/hw/i386/apic_internal.h
+++ b/include/hw/i386/apic_internal.h
@@ -98,6 +98,7 @@ struct APICCommonState {
X86CPU *cpu;
uint32_t apicbase;
uint8_t id;
+ uint8_t version;
uint8_t arb_id;
uint8_t tpr;
uint32_t spurious_vec;
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index 0ade0f1..32a7687 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -268,6 +268,9 @@ bool e820_get_entry(int, uint32_t, uint64_t *, uint64_t *);
#define PC_COMPAT_2_0 \
{\
+ .driver = "apic",\
+ .property = "version",\
+ .value = stringify(0x11),\
}
#define PC_COMPAT_1_7 \
diff --git a/hw/intc/apic.c b/hw/intc/apic.c
index 2f40cba..ef19e55 100644
--- a/hw/intc/apic.c
+++ b/hw/intc/apic.c
@@ -675,7 +675,7 @@ static uint32_t apic_mem_readl(void *opaque, hwaddr addr)
val = s->id << 24;
break;
case 0x03: /* version */
- val = 0x11 | ((APIC_LVT_NB - 1) << 16); /* version 0x11 */
+ val = s->version | ((APIC_LVT_NB - 1) << 16);
break;
case 0x08:
apic_sync_vapic(s, SYNC_FROM_VAPIC);
diff --git a/hw/intc/apic_common.c b/hw/intc/apic_common.c
index 7ecce2d..7137653 100644
--- a/hw/intc/apic_common.c
+++ b/hw/intc/apic_common.c
@@ -380,6 +380,7 @@ static const VMStateDescription vmstate_apic_common = {
static Property apic_properties_common[] = {
DEFINE_PROP_UINT8("id", APICCommonState, id, -1),
+ DEFINE_PROP_UINT8("version", APICCommonState, version, 0x14),
DEFINE_PROP_BIT("vapic", APICCommonState, vapic_control, VAPIC_ENABLE_BIT,
true),
DEFINE_PROP_END_OF_LIST(),
--
MST
next prev parent reply other threads:[~2014-05-07 16:18 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-07 16:16 [Qemu-devel] [PULL v2 00/11] pc,net,MAINTAINERS,build updates Michael S. Tsirkin
2014-05-07 16:16 ` [Qemu-devel] [PULL v2 01/11] acpi/pcihp.c: Rewrite acpi_pcihp_get_bsel using object_property_get_int Michael S. Tsirkin
2014-05-07 16:16 ` [Qemu-devel] [PULL v2 02/11] acpi-build: properly decrement objects' reference counters Michael S. Tsirkin
2014-05-07 16:16 ` [Qemu-devel] [PULL v2 03/11] acpi: fix tables for no-hpet configuration Michael S. Tsirkin
2014-05-07 16:17 ` [Qemu-devel] [PULL v2 04/11] i8259: don't abort when trying to use level sensitive irqs Michael S. Tsirkin
2014-05-07 16:17 ` [Qemu-devel] [PULL v2 05/11] pc: add compat_props placeholder for 2.0 machine type Michael S. Tsirkin
2014-05-07 16:17 ` Michael S. Tsirkin [this message]
2014-05-07 16:17 ` [Qemu-devel] [PULL v2 07/11] smbus: allow returning an error from reads Michael S. Tsirkin
2014-05-07 16:17 ` [Qemu-devel] [PULL v2 08/11] smbus: return -1 if nothing found at the given address Michael S. Tsirkin
2014-05-07 16:17 ` [Qemu-devel] [PULL v2 09/11] pm_smbus: correctly report unclaimed cycles Michael S. Tsirkin
2014-05-07 16:17 ` [Qemu-devel] [PULL v2 10/11] MAINTAINERS: addresses for responsible disclosure Michael S. Tsirkin
2014-05-07 16:17 ` [Qemu-devel] [PULL v2 11/11] configure: make source tree build more robust Michael S. Tsirkin
2014-05-07 17:14 ` [Qemu-devel] [PULL v2 00/11] pc,net,MAINTAINERS,build updates Peter Maydell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1399479367-31336-7-git-send-email-mst@redhat.com \
--to=mst@redhat.com \
--cc=afaerber@suse.de \
--cc=agraf@suse.de \
--cc=aliguori@amazon.com \
--cc=armbru@redhat.com \
--cc=gsomlo@gmail.com \
--cc=mjt@tls.msk.ru \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=somlo@cmu.edu \
--cc=stefanha@redhat.com \
--cc=sw@weilnetz.de \
--cc=zxq_yx_007@163.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).