1/* 2* Copyright (c) 2013, Al Stone <al.stone@linaro.org> 3* All rights reserved. 4* 5* Redistribution and use in source and binary forms, with or without 6* modification, are permitted provided that the following conditions 7* are met: 8* 9* 1. Redistributions of source code must retain the above copyright 10* notice, this list of conditions and the following disclaimer. 11* 12* 2. Redistributions in binary form must reproduce the above copyright 13* notice, this list of conditions and the following disclaimer in the 14* documentation and/or other materials provided with the distribution. 15* 16* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 17* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 18* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 19* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 20* HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 21* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 22* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 23* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 24* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 25* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 26* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27* 28* 29* NB: This License is also known as the "BSD 2-Clause License". 30* 31* 32* [DSDT] Description of the armv8 VE Model 33* 34*/ 35 36DefinitionBlock ( 37 "dsdt.aml", // output filename 38 "DSDT", // table signature 39 2, // DSDT compliance revision 40 "LINARO", // OEM ID 41 "RTSMVEV8", // table ID 42 0x00000004) // OEM revision 43{ 44 Scope (\_SB) 45 { 46 Method (_OSC, 4, NotSerialized) 47 { 48 /* Platform-Wide OSPM Capabilities */ 49 If(LEqual(Arg0,ToUUID("0811B06E-4A27-44F9-8D60-3CBBC22E7B48"))) 50 { 51 /* APEI support unconditionally */ 52 Return (Arg3) 53 } Else { 54 CreateDWordField (Arg3, Zero, CDW1) 55 /* Set invalid UUID error bit */ 56 Or (CDW1, 0x04, CDW1) 57 Return (Arg3) 58 } 59 } 60 61 // 62 // Two Emulated aarch64 CPUs each with 4 cores 63 // 64 Device(CPU0) { // Cluster 0, Cpu 0 65 Name(_HID, "ACPI0007") 66 Name(_UID, 0) 67 } 68 Device(CPU1) { // Cluster 0, Cpu 1 69 Name(_HID, "ACPI0007") 70 Name(_UID, 1) 71 } 72 Device(CPU2) { // Cluster 0, Cpu 2 73 Name(_HID, "ACPI0007") 74 Name(_UID, 2) 75 } 76 Device(CPU3) { // Cluster 0, Cpu 3 77 Name(_HID, "ACPI0007") 78 Name(_UID, 3) 79 } 80 Device(CPU4) { // Cluster 1, Cpu 0 81 Name(_HID, "ACPI0007") 82 Name(_UID, 4) 83 } 84 Device(CPU5) { // Cluster 1, Cpu 1 85 Name(_HID, "ACPI0007") 86 Name(_UID, 5) 87 } 88 Device(CPU6) { // Cluster 1, Cpu 2 89 Name(_HID, "ACPI0007") 90 Name(_UID, 6) 91 } 92 Device(CPU7) { // Cluster 1, Cpu 3 93 Name(_HID, "ACPI0007") 94 Name(_UID, 7) 95 } 96 97 // SMC91X 98 Device (NET0) { 99 Name (_HID, "LNRO0003") 100 Name (_UID, 0) 101 102 Name (_CRS, ResourceTemplate () { 103 Memory32Fixed (ReadWrite, 0x1a000000, 0x00010000) 104 Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, , , ) {0x2F} 105 }) 106 } 107 108 // SYSREG 109 Device (SREG) { 110 Name (_HID, "LNRO0009") 111 Name (_UID, 0) 112 113 Method (_CRS, 0x0, Serialized) { 114 Name (RBUF, ResourceTemplate() { 115 Memory32Fixed (ReadWrite, 0x1c010000, 0x1000) 116 }) 117 Return (RBUF) 118 } 119 } 120 121 // VIRTIO 122 Device (VIRT) { 123 Name (_HID, "LNRO0005") 124 Name (_UID, 0) 125 126 Name (_CRS, ResourceTemplate() { 127 Memory32Fixed (ReadWrite, 0x1c130000, 0x1000) 128 Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) {0x4A} 129 }) 130 } 131 132 // UART PL011 133 Device(COM0) { 134 Name(_HID, "ARMH0011") 135 Name(_CID, "PL011") 136 Name(_UID, Zero) 137 138 Name(_CRS, ResourceTemplate() { 139 Memory32Fixed(ReadWrite, 0x1c090000, 0x1000) 140 Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 0x25 } 141 }) 142 } 143 } 144} 145