aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Hu <jia-cheng.hu@intel.com>2015-02-12 15:27:47 +0800
committerJason Hu <jia-cheng.hu@intel.com>2015-02-12 15:30:57 +0800
commita04152066893c44f866e6e16509e5250ddfb6d17 (patch)
tree5028a365572b0ab687b3cd7d7dc95998eac1465a
parent3d3067f1f630638c5bd8bcd20c604bec479f5663 (diff)
downloadqemu-android-a04152066893c44f866e6e16509e5250ddfb6d17.tar.gz
hw/i386: enabled android pipe
enabled android pipe device for x86/x86_64 - modified .dsl source file and update pre-generated .hex file - created the device during init Change-Id: Ie04713420323197d2e2341d339c3d442b22eaa5d Signed-off-by: Jason Hu <jia-cheng.hu@intel.com>
-rw-r--r--hw/i386/acpi-dsdt-goldfish.dsl14
-rw-r--r--hw/i386/acpi-dsdt.hex.generated102
-rw-r--r--hw/i386/pc_piix.c1
-rw-r--r--include/hw/acpi/goldfish_defs.h5
4 files changed, 116 insertions, 6 deletions
diff --git a/hw/i386/acpi-dsdt-goldfish.dsl b/hw/i386/acpi-dsdt-goldfish.dsl
index c20afe019d..d0b7847258 100644
--- a/hw/i386/acpi-dsdt-goldfish.dsl
+++ b/hw/i386/acpi-dsdt-goldfish.dsl
@@ -49,4 +49,18 @@ Scope(\_SB) {
})
}
+ /* Pipe */
+ Device(GFPP) {
+ Name(_HID, "GFSH0003")
+ Name(_STR, Unicode("android pipe"))
+ Name(_CRS, ResourceTemplate() {
+ Memory32Fixed(ReadWrite,
+ GF_PIPE_IOMEM_BASE,
+ GF_PIPE_IOMEM_SIZE
+ )
+ Interrupt(, Edge, ActiveHigh) {
+ GF_PIPE_IRQ
+ }
+ })
+ }
}
diff --git a/hw/i386/acpi-dsdt.hex.generated b/hw/i386/acpi-dsdt.hex.generated
index d47b5aa506..ae1ce4200a 100644
--- a/hw/i386/acpi-dsdt.hex.generated
+++ b/hw/i386/acpi-dsdt.hex.generated
@@ -3,12 +3,12 @@ static unsigned char AcpiDsdtAmlCode[] = {
0x53,
0x44,
0x54,
-0xd1,
-0xe,
+0x2b,
+0xf,
0x0,
0x0,
0x1,
-0xdd,
+0x1e,
0x42,
0x58,
0x50,
@@ -110,8 +110,8 @@ static unsigned char AcpiDsdtAmlCode[] = {
0x47,
0x42,
0x10,
-0x48,
-0xc,
+0x42,
+0x12,
0x5f,
0x53,
0x42,
@@ -310,6 +310,96 @@ static unsigned char AcpiDsdtAmlCode[] = {
0x0,
0x79,
0x0,
+0x5b,
+0x82,
+0x48,
+0x5,
+0x47,
+0x46,
+0x50,
+0x50,
+0x8,
+0x5f,
+0x48,
+0x49,
+0x44,
+0xd,
+0x47,
+0x46,
+0x53,
+0x48,
+0x30,
+0x30,
+0x30,
+0x33,
+0x0,
+0x8,
+0x5f,
+0x53,
+0x54,
+0x52,
+0x11,
+0x1d,
+0xa,
+0x1a,
+0x61,
+0x0,
+0x6e,
+0x0,
+0x64,
+0x0,
+0x72,
+0x0,
+0x6f,
+0x0,
+0x69,
+0x0,
+0x64,
+0x0,
+0x20,
+0x0,
+0x70,
+0x0,
+0x69,
+0x0,
+0x70,
+0x0,
+0x65,
+0x0,
+0x0,
+0x0,
+0x8,
+0x5f,
+0x43,
+0x52,
+0x53,
+0x11,
+0x1a,
+0xa,
+0x17,
+0x86,
+0x9,
+0x0,
+0x1,
+0x0,
+0x10,
+0x0,
+0xff,
+0x0,
+0x20,
+0x0,
+0x0,
+0x89,
+0x6,
+0x0,
+0x3,
+0x1,
+0x12,
+0x0,
+0x0,
+0x0,
+0x79,
+0x0,
0x10,
0x22,
0x5f,
@@ -3794,5 +3884,5 @@ static unsigned char AcpiDsdtAmlCode[] = {
0x0
};
static unsigned short piix_dsdt_applesmc_sta[] = {
-0x41c
+0x476
};
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index f77ca71a46..24d9ab06cd 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -240,6 +240,7 @@ static void pc_init1(MachineState *machine,
gsi[GF_BATTERY_IRQ]);
sysbus_create_simple("goldfish-events", GF_EVENTS_IOMEM_BASE,
gsi[GF_EVENTS_IRQ]);
+ sysbus_create_simple("android_pipe", GF_PIPE_IOMEM_BASE, gsi[GF_PIPE_IRQ]);
#endif /* CONFIG_ANDROID */
pc_vga_init(isa_bus, pci_enabled ? pci_bus : NULL);
diff --git a/include/hw/acpi/goldfish_defs.h b/include/hw/acpi/goldfish_defs.h
index c0d89b040a..f4588f5d87 100644
--- a/include/hw/acpi/goldfish_defs.h
+++ b/include/hw/acpi/goldfish_defs.h
@@ -32,4 +32,9 @@
#define GF_EVENTS_IOMEM_SIZE 0x00001000
#define GF_EVENTS_IRQ 17
+/* android pipe */
+#define GF_PIPE_IOMEM_BASE 0xff001000
+#define GF_PIPE_IOMEM_SIZE 0x00002000
+#define GF_PIPE_IRQ 18
+
#endif /* !ACPI_GOLDFISH_DEFS_H */