By Anonymous (not verified) , 28 September 2004
Вопрос по ASL.

Никак немогу въехать, что из себя представляет IndexField. Про Field понятно, адрес и данные, как при чтении CMOS, а вот что IndexField делает, непойму. Расскажите pls.
The content of this field is kept private and will not be shown publicly.

BBCode

  • No HTML tags allowed.
  • You may use the following BBCode tags:
    • [align]
    • [b]
    • [code]
    • [color]
    • [font]
    • [hr]
    • [i]
    • [img]
    • [list]
    • [quote]
    • [s]
    • [size]
    • [spoiler]
    • [sub]
    • [sup]
    • [table]
    • [u]
    • [url]
  • Web page addresses and email addresses turn into links automatically.
читаем Advanced Configuration and Power Interface Specification 2.0

16.2.3.3.1.12 IndexField (Declare Index/Data Fields)
IndexFieldTerm := IndexField(
IndexName, //NameString=>FieldUnit
DataName, //NameString=>FieldUnit
AccessType, //AccessTypeKeyword
LockRule, //LockRuleKeyword
UpdateRule //UpdateRuleKeyword
) {FieldUnitList}

Creates a series of named data objects whose data values are fields within a larger object accessed by an
index/data-style reference to IndexName and DataName.
This encoding is used to define named data objects whose data values are fields within an index/data
register pair. This provides a simple way to declare register variables that occur behind a typical index and
data register pair.
Accessing the contents of an indexed field data object will automatically occur through the DataName
object by using an IndexName object aligned on an AccessType boundary, with synchronization occurring
on the operation region that contains the index data variable, and on the Global Lock if specified by
LockRule.
AccessType, LockRule, UpdateRule, and FieldList are the same format as the Field term.
The following is a block of ASL sample code using IndexField:
Creates an index/data register in system I/O space made up of 8-bit registers.
· Creates a FET0 field within the indexed range.
Method(EX1){
// define 256-byte operational region in SystemIO space
// and name it GIO0
OperationRegion (GIO0, 1, 0x125, 0x100)
// create field named Preserve structured as a sequence
// of index and data bytes
Field (GIO0, ByteAcc, NoLock, WriteAsZeros) {
IDX0, 8,
DAT0, 8,
.
.
.
}
// Create an IndexField within IDX0 & DAT0 which has
// FETs in the first two bits of indexed offset 0,
// and another 2 FETs in the high bit on indexed
// 2f and the low bit of indexed offset 30
IndexField (IDX0, DAT0, ByteAcc, NoLock, Preserve) {
FET0, 1,
FET1, 1,
Offset(0x2f), // skip to byte offset 2f
, 7, // skip another 7 bits
FET3, 1,
FET4, 1
}
// Clear FET3 (index 2f, bit 7)
Store (Zero, FET3)
} // End EX1

Sandra

21 years 5 months ago

читаем Advanced Configuration and Power Interface Specification 2.0


Это все я читал... Я же говорю, понять не могу!!! Чем принципиально Field от IndexField отличаются?