mirror of
				https://github.com/qemu/qemu.git
				synced 2025-10-31 20:44:16 +00:00 
			
		
		
		
	 8ac6f7a6d6
			
		
	
	
		8ac6f7a6d6
		
	
	
	
	
		
			
			patch moves SMC device into SSDT and creates it only when device is present, which makes ACPI tables smaller in default case when device is not present. Also it fixes wrong IO range in CRS if "iobase" property is set to a non default value. PS: Testing with XP shows that current default "iobase" used SMC device conflicts with floppy controller IO, but it's topic for another patch and I'd leave it to SMC device author for resolving conflict. Signed-off-by: Igor Mammedov <imammedo@redhat.com> CC: agraf@suse.de Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
		
			
				
	
	
		
			118 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			118 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| /*
 | |
|  * This program is free software; you can redistribute it and/or modify
 | |
|  * it under the terms of the GNU General Public License as published by
 | |
|  * the Free Software Foundation; either version 2 of the License, or
 | |
|  * (at your option) any later version.
 | |
| 
 | |
|  * This program is distributed in the hope that it will be useful,
 | |
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | |
|  * GNU General Public License for more details.
 | |
| 
 | |
|  * You should have received a copy of the GNU General Public License along
 | |
|  * with this program; if not, see <http://www.gnu.org/licenses/>.
 | |
|  */
 | |
| 
 | |
| /* Common legacy ISA style devices. */
 | |
| Scope(\_SB.PCI0.ISA) {
 | |
| 
 | |
|     Device(RTC) {
 | |
|         Name(_HID, EisaId("PNP0B00"))
 | |
|         Name(_CRS, ResourceTemplate() {
 | |
|             IO(Decode16, 0x0070, 0x0070, 0x10, 0x02)
 | |
|             IRQNoFlags() { 8 }
 | |
|             IO(Decode16, 0x0072, 0x0072, 0x02, 0x06)
 | |
|         })
 | |
|     }
 | |
| 
 | |
|     Device(KBD) {
 | |
|         Name(_HID, EisaId("PNP0303"))
 | |
|         Method(_STA, 0, NotSerialized) {
 | |
|             Return (0x0f)
 | |
|         }
 | |
|         Name(_CRS, ResourceTemplate() {
 | |
|             IO(Decode16, 0x0060, 0x0060, 0x01, 0x01)
 | |
|             IO(Decode16, 0x0064, 0x0064, 0x01, 0x01)
 | |
|             IRQNoFlags() { 1 }
 | |
|         })
 | |
|     }
 | |
| 
 | |
|     Device(MOU) {
 | |
|         Name(_HID, EisaId("PNP0F13"))
 | |
|         Method(_STA, 0, NotSerialized) {
 | |
|             Return (0x0f)
 | |
|         }
 | |
|         Name(_CRS, ResourceTemplate() {
 | |
|             IRQNoFlags() { 12 }
 | |
|         })
 | |
|     }
 | |
| 
 | |
|     Device(FDC0) {
 | |
|         Name(_HID, EisaId("PNP0700"))
 | |
|         Method(_STA, 0, NotSerialized) {
 | |
|             Store(FDEN, Local0)
 | |
|             If (LEqual(Local0, 0)) {
 | |
|                 Return (0x00)
 | |
|             } Else {
 | |
|                 Return (0x0F)
 | |
|             }
 | |
|         }
 | |
|         Name(_CRS, ResourceTemplate() {
 | |
|             IO(Decode16, 0x03F2, 0x03F2, 0x00, 0x04)
 | |
|             IO(Decode16, 0x03F7, 0x03F7, 0x00, 0x01)
 | |
|             IRQNoFlags() { 6 }
 | |
|             DMA(Compatibility, NotBusMaster, Transfer8) { 2 }
 | |
|         })
 | |
|     }
 | |
| 
 | |
|     Device(LPT) {
 | |
|         Name(_HID, EisaId("PNP0400"))
 | |
|         Method(_STA, 0, NotSerialized) {
 | |
|             Store(LPEN, Local0)
 | |
|             If (LEqual(Local0, 0)) {
 | |
|                 Return (0x00)
 | |
|             } Else {
 | |
|                 Return (0x0F)
 | |
|             }
 | |
|         }
 | |
|         Name(_CRS, ResourceTemplate() {
 | |
|             IO(Decode16, 0x0378, 0x0378, 0x08, 0x08)
 | |
|             IRQNoFlags() { 7 }
 | |
|         })
 | |
|     }
 | |
| 
 | |
|     Device(COM1) {
 | |
|         Name(_HID, EisaId("PNP0501"))
 | |
|         Name(_UID, 0x01)
 | |
|         Method(_STA, 0, NotSerialized) {
 | |
|             Store(CAEN, Local0)
 | |
|             If (LEqual(Local0, 0)) {
 | |
|                 Return (0x00)
 | |
|             } Else {
 | |
|                 Return (0x0F)
 | |
|             }
 | |
|         }
 | |
|         Name(_CRS, ResourceTemplate() {
 | |
|             IO(Decode16, 0x03F8, 0x03F8, 0x00, 0x08)
 | |
|             IRQNoFlags() { 4 }
 | |
|         })
 | |
|     }
 | |
| 
 | |
|     Device(COM2) {
 | |
|         Name(_HID, EisaId("PNP0501"))
 | |
|         Name(_UID, 0x02)
 | |
|         Method(_STA, 0, NotSerialized) {
 | |
|             Store(CBEN, Local0)
 | |
|             If (LEqual(Local0, 0)) {
 | |
|                 Return (0x00)
 | |
|             } Else {
 | |
|                 Return (0x0F)
 | |
|             }
 | |
|         }
 | |
|         Name(_CRS, ResourceTemplate() {
 | |
|             IO(Decode16, 0x02F8, 0x02F8, 0x00, 0x08)
 | |
|             IRQNoFlags() { 3 }
 | |
|         })
 | |
|     }
 | |
| }
 |