Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

174 lines
7.0 KiB

  1. ACPI Source Language Assembler Release History
  2. Version 1.0.12 (c) Copyright 1999, Microsoft Corporation. All rights reserved.
  3. Version Description
  4. ------- -----------
  5. 0.9.8 Generates spec. v1.0 description header.
  6. Make semantics and opcode type synchronize to spec. v1.0.
  7. Added support for 3rd optional argument of "Method" (i.e. SyncType).
  8. Added support for the SMBus access types.
  9. Changed "Buffer" argument from "Byte" to "Opcode".
  10. Added 3rd argument (optional SuperName) to "Index".
  11. Changed argument type of "SizeOf" from "NameStr" to "SuperName".
  12. Changed "BankValue" of "BankField" from "DWord" to "Opcode".
  13. Changed "TimeOut" of "Acquire" from "DWord" to "Word".
  14. Added optional "SuperName" argument to a lot of Type2Opcodes.
  15. Changed "Load" syntax according to 1.0 spec.
  16. Changed "NotificationValue" of "Notify" from "Byte" to "Opcode".
  17. Changed "SyncObject" of "Reset" from "NameStr" to "SuperName".
  18. Changed "Sleep" and "Stall" arguments from "Word"/"Byte" to "Opcode".
  19. Changed "Unload" argument to "NameStr".
  20. Changed "TimeOut" of "Wait" from "DWord" to "Opcode".
  21. Fixed the encoding of NameStr if it contains only "\" or "^", in which
  22. case, a NULL is appended as boundary mark to separate potential
  23. following NameStr.
  24. Added support for methods invoking other methods with arugments.
  25. Changed "Buffer" to support reserved size bigger than initializer size.
  26. 0.9.9 Fixed "Alias" code generation.
  27. 0.9.10 Added spec. 1.0 compliant phrase in banner.
  28. 0.9.11 Fixed fault if buffer initializer size exceeds 255.
  29. 0.9.12 Changed Creator ID from MS to MSFT.
  30. Fixed default method mode to NOT_SERIALIZED.
  31. Optimized FieldList code generation so that an unnamed field with 0
  32. bits won't be generated.
  33. Added support to allow Index() to be part of SuperName so that it is
  34. now legal to do "Store(Zero, Index(PKG, 2))".
  35. Added _STM to the reserved name table.
  36. Don't allow offset() to go backward.
  37. 0.9.13 Added DerefOf() support.
  38. 0.9.14 Added AccessAs() macro.
  39. 0.9.15 Added _PRT as valid reserved name.
  40. Added PNP Macro support except for auto CreateXField generation.
  41. 0.9.16 Added command line option to allow overriding AML file name.
  42. Added command line option to allow specifying LST file name.
  43. Renamed some of the command line options.
  44. Cleaned up the reserved name table (get rid of the obsolete ones
  45. and added the missing ones).
  46. 0.9.17 Checksum in the EndTag of the PNP macros is now zero.
  47. 0.9.18 Added support for QWord Address Space Descriptor in PNP macros.
  48. Added length field in Word, DWord, QWord Address Space Descriptors.
  49. Added _INI object in reserved name table.
  50. 0.9.19 Fixed the IF-ELSE-ELSE problem so that we don't allow this any more.
  51. Added intensive semantic error checking.
  52. Added the /n option (NameSpace dump).
  53. 0.9.20 Improved the NameSpace Paths dump.
  54. Added CreateXField support for PNP macro. So now you can do:
  55. Name(BUF0, ResourceTemplate() {
  56. IRQ(Edge, ActiveHigh, Shared, IRQ0) {
  57. 3,4,5,7,9,10,11,14,15
  58. }
  59. IO(Decode16, 0x100, 0x3ff, 3, 8, IO0)
  60. }
  61. )
  62. CreateWordField(BUF0, IRQ0._INT, INTR)
  63. CreateWordField(BUF0, IO0._MIN, IOL)
  64. 0.9.21 Cleaned up error messages.
  65. Fixed a fault when generating .LST file.
  66. Added more semantic error checks.
  67. Allowed Index() as well as CreateXField to use PNP macro labels.
  68. For example:
  69. Index(BUF0, IRQ0._INT, Local0)
  70. 0.9.22 Added a new compiler directive "External". The syntax is:
  71. External(<ObjName>, <ObjType>)
  72. This directive is to let the assembler know that the object is declared
  73. external to this table so that the assembler will not complain about
  74. the undeclared object. During compiling, the assembler will create
  75. the external object at the specified place in the name space (if a
  76. full path of the object is specified), or the object will be created
  77. at the current scope of the External statement. <ObjType> is
  78. optional. If not specified, "UnknownObj" type is assumed. Valid
  79. values of <ObjType> are:
  80. UnknownObj
  81. IntObj
  82. StrObj
  83. BuffObj
  84. PkgObj
  85. FieldUnitObj
  86. DeviceObj
  87. EventObj
  88. MethodObj
  89. MutexObj
  90. OpRegionObj
  91. PowerResObj
  92. ThermalZoneObj
  93. BuffFieldObj
  94. DDBHandleObj
  95. 0.9.23 Added _PIC in reserved object table.
  96. Added .ASM file generation.
  97. Improved .LST file generation.
  98. Renamed some of the command line options to be more like the Microsoft
  99. C compiler.
  100. 0.9.24 Fixed command usage help text.
  101. .ASM/.LST: Fixed Method invocation.
  102. .ASM/.LST: Fixed constant terms in Package and Name.
  103. .ASM/.LST: Fixed keyword arguments.
  104. 0.9.25 Optimized EISAID() code generation.
  105. 0.9.26 Added a check to make sure Fields and BankFields do not have an offset
  106. outside of the OperationRegion range.
  107. Added _DCK in the reserved name table.
  108. 0.9.27 Added _FDI in the reserved name table.
  109. 1.0.0 Renamed to be ver 1.0.0 (the first final release candidate).
  110. 1.0.1 Added _DDN, _BDN in the reserved name table.
  111. Added type checking on SuperName to disallow PNP macro labels.
  112. 1.0.2 Added '*' for objects in NSD files to indicate object has temporary
  113. life (i.e. objects created in methods).
  114. Added more semantic check code for checking proper child term class.
  115. 1.0.3 Fixed a bug on checking child term class involving nested "Include".
  116. Fixed a bug to complain on ASL source file without DefinitionBlock.
  117. CreateXField are now Object Creators instead of Type1Opcode.
  118. If, Else and While scopes will now allow Object Creator terms.
  119. 1.0.4 Added _REG in the reserved name table.
  120. 1.0.5 Added check to make sure integer values cannot exceed DWORD maximum.
  121. Added error message when offset in FieldUnit exceeds 0x1ffffff or
  122. field length exceeds 0x10000000.
  123. 1.0.6 Added code to allow specifying region space in OperationRegion as a
  124. number so that region space can be extended beyond the standard
  125. regions.
  126. Added _BBN in the reserved name table.
  127. 1.0.7 Added code to print AML code offset to NameSpace object dump at which
  128. the NameSpace object was created.
  129. 1.0.8 Redefined Interrupt Vector Flags of the Extended Interrupt Descriptor
  130. resource macro so that low-active-edge and high-active-level are
  131. allowed.
  132. 1.0.9 Added _SxD in the reserved name table.
  133. 1.0.10 Added code to fail forward references of PNP resource objects.
  134. Added code to check for incorrect number of arguments during method
  135. invocation.
  136. Fixed a bug that may result in skipping some object type/existence
  137. validations.
  138. 1.0.11 Added _GLK, _FDE, _S0D and _S5D in the reserved name table.
  139. 1.0.12 Added _BCL, _BCM, _DCS, _DDC, _DGS, _DOD, _DOS, _DSS and _ROM in the
  140. reserved name table.