2003-02-28 16:15:53

by Corey Minyard

[permalink] [raw]
Subject: ACPI request/release generic address

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Is there a way in the ACPI code to do a request/release of I/O or memory
with an acpi_generic_address? Does it even make sense to do this?
There are generic I/O routines for using a generic address, and I'm
working with an ACPI table that has a generic address, so it would seem
to make sense to have memory reservation routines through this, too.

- -Corey
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQE+X42jIXnXXONXERcRAglFAJ9Xn7HbRDCFkpDiAzrsB0lkYFdSGACfUxX4
enhfmod5mAZBAorygt1zrqo=
=wXF6
-----END PGP SIGNATURE-----


2003-02-28 16:22:37

by Jeff Garzik

[permalink] [raw]
Subject: Re: ACPI request/release generic address

On Fri, Feb 28, 2003 at 10:26:13AM -0600, Corey Minyard wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Is there a way in the ACPI code to do a request/release of I/O or memory
> with an acpi_generic_address? Does it even make sense to do this?
> There are generic I/O routines for using a generic address, and I'm
> working with an ACPI table that has a generic address, so it would seem
> to make sense to have memory reservation routines through this, too.

Can you define a generic address?

IIRC, ACPI needs some work in this area.

If the "generic address" is host RAM, that's easy.
If the generic address is PIO address, that's mostly easy.
If the generic address is MMIO address, that takes a bit of care with
mapping, and I'm not sure ACPI gets it right in these cases.

Jeff




2003-02-28 18:12:18

by Corey Minyard

[permalink] [raw]
Subject: Re: ACPI request/release generic address

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

It an acpi_generic_address structure defined in include/acpi/actbl2.h.
It's an address that can be in memory, I/O, or PCI configuration space.

The definition is at http://www.microsoft.com/hwdev/tech/onnow/LF-ACPI.asp

- -Corey

Jeff Garzik wrote:

|On Fri, Feb 28, 2003 at 10:26:13AM -0600, Corey Minyard wrote:
|
|>-----BEGIN PGP SIGNED MESSAGE-----
|>Hash: SHA1
|>
|>Is there a way in the ACPI code to do a request/release of I/O or memory
|>with an acpi_generic_address? Does it even make sense to do this?
|>There are generic I/O routines for using a generic address, and I'm
|>working with an ACPI table that has a generic address, so it would seem
|>to make sense to have memory reservation routines through this, too.
|
|
|Can you define a generic address?
|
|IIRC, ACPI needs some work in this area.
|
|If the "generic address" is host RAM, that's easy.
|If the generic address is PIO address, that's mostly easy.
|If the generic address is MMIO address, that takes a bit of care with
|mapping, and I'm not sure ACPI gets it right in these cases.
|
| Jeff
|
|
|

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQE+X6jqIXnXXONXERcRAtghAKCpyo6enCR91Affkq9lwDRIRQleTwCeIC1t
TlYA0vFQIvYWCKf7IknAG90=
=BG4s
-----END PGP SIGNATURE-----


2003-02-28 18:18:42

by Jeff Garzik

[permalink] [raw]
Subject: Re: ACPI request/release generic address

On Fri, Feb 28, 2003 at 12:22:36PM -0600, Corey Minyard wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> It an acpi_generic_address structure defined in include/acpi/actbl2.h.
> It's an address that can be in memory, I/O, or PCI configuration space.
>
> The definition is at http://www.microsoft.com/hwdev/tech/onnow/LF-ACPI.asp

ACPI will need to use the existing kernel-based resource reservation
mechanisms, dependent upon which type of address it is.

Jeff



2003-02-28 19:54:57

by Andrew Grover

[permalink] [raw]
Subject: RE: ACPI request/release generic address

> From: Jeff Garzik [mailto:[email protected]]
> Can you define a generic address?
>
> IIRC, ACPI needs some work in this area.
>
> If the "generic address" is host RAM, that's easy.
> If the generic address is PIO address, that's mostly easy.
> If the generic address is MMIO address, that takes a bit of care with
> mapping, and I'm not sure ACPI gets it right in these cases.

The Generic Address Structure (GAS) is basically a 64 bit address and a
type field. The type can be:

System memory
System IO
PCI Config space
Embedded Controller
SMBus
Functional fixed hardware

I don't think this will very easily handle a clean request/release API.
Corey, what is the specific table you are concerned with? At least with
the GASes ACPI uses internally, they point to resource regions already
marked as used via other means (e820 or _CRS, for example.)

Regards -- Andy

2003-02-28 20:37:48

by Corey Minyard

[permalink] [raw]
Subject: Re: ACPI request/release generic address

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Grover, Andrew wrote:

|>From: Jeff Garzik [mailto:[email protected]]
|>Can you define a generic address?
|>
|>IIRC, ACPI needs some work in this area.
|>
|>If the "generic address" is host RAM, that's easy.
|>If the generic address is PIO address, that's mostly easy.
|>If the generic address is MMIO address, that takes a bit of care with
|>mapping, and I'm not sure ACPI gets it right in these cases.
|
|
|The Generic Address Structure (GAS) is basically a 64 bit address and a
|type field. The type can be:
|
|System memory
|System IO
|PCI Config space
|Embedded Controller
|SMBus
|Functional fixed hardware
|
|I don't think this will very easily handle a clean request/release API.
|Corey, what is the specific table you are concerned with? At least with
|the GASes ACPI uses internally, they point to resource regions already
|marked as used via other means (e820 or _CRS, for example.)

This is for some IPMI (Intelligent Platform Management Interface) hardware.
It's address is specified in an ACPI table.

- -Corey
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQE+X8sDIXnXXONXERcRAraPAKCnPI1C7hfugkYVl0EOskoW2Tg61QCdHcfA
YnQrVlzYyYJssPU58cY4NU0=
=0Fqf
-----END PGP SIGNATURE-----