qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Gleb Natapov <gleb@redhat.com>
To: Marcelo Tosatti <mtosatti@redhat.com>
Cc: avi@redhat.com, seabios@seabios.org, qemu-devel@nongnu.org,
	Gerd Hoffmann <kraxel@redhat.com>
Subject: [Qemu-devel] Re: seabios: acpi: add _RMV control method for PCI devices
Date: Wed, 5 Jan 2011 13:10:08 +0200	[thread overview]
Message-ID: <20110105111008.GE23389@redhat.com> (raw)
In-Reply-To: <20101208170858.GA10056@amt.cnet>

On Wed, Dec 08, 2010 at 03:08:59PM -0200, Marcelo Tosatti wrote:
> Use _RMV method to indicate whether device can be removed.
> 
> Data is retrieved from QEMU via I/O port 0xae0c.
> 
> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
> 
Acked-by: Gleb Natapov <gleb@redhat.com>

> Index: seabios/src/acpi-dsdt.dsl
> ===================================================================
> --- seabios.orig/src/acpi-dsdt.dsl
> +++ seabios/src/acpi-dsdt.dsl
> @@ -122,6 +122,12 @@ DefinitionBlock (
>                  B0EJ, 32,
>              }
>  
> +            OperationRegion(RMVC, SystemIO, 0xae0c, 0x04)
> +            Field(RMVC, DWordAcc, NoLock, WriteAsZeros)
> +            {
> +                PCRM, 32,
> +            }
> +
>  #define hotplug_slot(name, nr) \
>              Device (S##name) {                    \
>                 Name (_ADR, nr##0000)              \
> @@ -245,11 +251,14 @@ DefinitionBlock (
>                   {
>                           Return (0x00)
>                   }
> +                 Method(_RMV) { Return (0x00) }
>          }
>  
>  	/* PIIX3 ISA bridge */
>          Device (ISA) {
>              Name (_ADR, 0x00010000)
> +            Method(_RMV) { Return (0x00) }
> +
>  
>              /* PIIX PCI to ISA irq remapping */
>              OperationRegion (P40C, PCI_Config, 0x60, 0x04)
> @@ -442,6 +451,49 @@ DefinitionBlock (
>  		DRSJ, 32
>  	    }
>  	}
> +
> +#define gen_pci_device(name, nr)                                \
> +        Device(SL##name) {                                      \
> +            Name (_ADR, nr##0000)                               \
> +            Method (_RMV) {                                     \
> +                If (And(\_SB.PCI0.PCRM, ShiftLeft(1, nr))) {    \
> +                    Return (0x1)                                \
> +                }                                               \
> +                Return (0x0)                                    \
> +            }                                                   \
> +            Name (_SUN, name)                                   \
> +        }
> +
> +        /* VGA (slot 1) and ISA bus (slot 2) defined above */
> +	gen_pci_device(3, 0x0003)
> +	gen_pci_device(4, 0x0004)
> +	gen_pci_device(5, 0x0005)
> +	gen_pci_device(6, 0x0006)
> +	gen_pci_device(7, 0x0007)
> +	gen_pci_device(8, 0x0008)
> +	gen_pci_device(9, 0x0009)
> +	gen_pci_device(10, 0x000a)
> +	gen_pci_device(11, 0x000b)
> +	gen_pci_device(12, 0x000c)
> +	gen_pci_device(13, 0x000d)
> +	gen_pci_device(14, 0x000e)
> +	gen_pci_device(15, 0x000f)
> +	gen_pci_device(16, 0x0010)
> +	gen_pci_device(17, 0x0011)
> +	gen_pci_device(18, 0x0012)
> +	gen_pci_device(19, 0x0013)
> +	gen_pci_device(20, 0x0014)
> +	gen_pci_device(21, 0x0015)
> +	gen_pci_device(22, 0x0016)
> +	gen_pci_device(23, 0x0017)
> +	gen_pci_device(24, 0x0018)
> +	gen_pci_device(25, 0x0019)
> +	gen_pci_device(26, 0x001a)
> +	gen_pci_device(27, 0x001b)
> +	gen_pci_device(28, 0x001c)
> +	gen_pci_device(29, 0x001d)
> +	gen_pci_device(30, 0x001e)
> +	gen_pci_device(31, 0x001f)
>      }
>  
>      /* PCI IRQs */

--
			Gleb.

  parent reply	other threads:[~2011-01-05 11:12 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-08 17:08 [Qemu-devel] seabios: acpi: add _RMV control method for PCI devices Marcelo Tosatti
2010-12-08 17:34 ` [Qemu-devel] " Gleb Natapov
2010-12-08 18:01   ` Marcelo Tosatti
2010-12-08 19:58     ` Gleb Natapov
2010-12-08 21:23       ` Marcelo Tosatti
2010-12-11  7:39 ` [Qemu-devel] Re: [SeaBIOS] " Avi Kivity
2010-12-13  0:00   ` Marcelo Tosatti
2010-12-13  8:41     ` Avi Kivity
2010-12-13  8:49       ` Gleb Natapov
2010-12-13  8:53         ` Avi Kivity
2010-12-13  9:03           ` Gleb Natapov
2010-12-13  9:10             ` Avi Kivity
2010-12-13  9:16               ` Gleb Natapov
2010-12-12 19:11 ` Kevin O'Connor
2010-12-12 19:49   ` Gleb Natapov
2010-12-12 19:57     ` Kevin O'Connor
2010-12-20  8:49       ` Marcelo Tosatti
2010-12-20  9:15         ` Avi Kivity
2010-12-20 17:05           ` Marcelo Tosatti
2010-12-20 17:44             ` Avi Kivity
2010-12-20 18:23               ` Marcelo Tosatti
2011-01-05 11:10 ` Gleb Natapov [this message]
2011-01-06  2:27   ` Kevin O'Connor

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=20110105111008.GE23389@redhat.com \
    --to=gleb@redhat.com \
    --cc=avi@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=mtosatti@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=seabios@seabios.org \
    /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).