fixedacpidescriptiontable.java
来自「纯java操作系统jnode,安装简单和操作简单的个人使用的Java操作系统」· Java 代码 · 共 139 行
JAVA
139 行
/*
* $Id: FixedAcpiDescriptionTable.java,v 1.1 2003/11/25 11:42:14 epr Exp $
*/
package org.jnode.driver.acpi;
import org.jnode.system.MemoryResource;
import org.jnode.system.ResourceManager;
import org.jnode.system.ResourceNotFreeException;
import org.jnode.system.ResourceOwner;
import org.jnode.system.SimpleResourceOwner;
/**
* FixedAcpiDescriptionTable.
*
* <p>
* Title:
* </p>
* <p>
* Description:
* </p>
* <p>
* Licence: GNU LGPL
* </p>
* <p>
* </p>
*
* @author Francois-Frederic Ozog
* @version 1.0
*/
public class FixedAcpiDescriptionTable extends AcpiSystemTable {
private FirmwareAcpiControlStructure facs = null;
private DifferentiatedSystemDescriptionTable dsdt = null;
public FixedAcpiDescriptionTable(ResourceManager rm, MemoryResource tableResource) {
super(rm, tableResource);
}
public FirmwareAcpiControlStructure getFACS() {
return facs;
}
public DifferentiatedSystemDescriptionTable getDSDT() {
return dsdt;
}
public GenericAddress getResetRegister() {
byte[] raw = new byte[12];
for (int i = 0; i < 12; i++)
raw[i] = table[116 + i];
GenericAddress addr = new GenericAddress(raw);
return addr;
}
public int getSmiCmd() {
return getInt(48);
}
public int getSciInt() {
return getShort(46);
}
int getAcpiEnable() {
return getByte(52);
}
int getAcpiDisable() {
return getByte(53);
}
public void acpiEnable() {
if (getSmiCmd() != 0) {
// IOOUT(getSmiCmd(), getAcpiEnable());
}
}
public void acpiDisable() {
if (getSmiCmd() != 0) {
// IOOUT(getSmiCmd(), getAcpiDisable());
}
}
public int getPm1aEvent() {
return getInt(56);
}
public int getPm1bEvent() {
return getInt(60);
}
public int getPm1aControl() {
return getInt(64);
}
public int getPm1bControl() {
return getInt(68);
}
public int getPm2Control() {
return getInt(72);
}
public int getPmTimer() {
return getInt(76);
}
public int getGeneralPurposeEvent0() {
return getInt(80);
}
public int getGeneralPurposeEvent1() {
return getInt(84);
}
public int getFlags() {
return getInt(112);
}
public void parse() throws ResourceNotFreeException {
final ResourceOwner owner = new SimpleResourceOwner("ACPI-FixedAcpiDescriptionTable");
facs = (FirmwareAcpiControlStructure) AcpiTable.getTable(owner, this.rm, tableResource.getInt(36));
try {
if (facs != null)
facs.parse();
} catch (ResourceNotFreeException ex) {
log.error("Error parsing FACS:", ex);
}
dsdt = (DifferentiatedSystemDescriptionTable) AcpiTable.getTable(owner, this.rm, tableResource.getInt(40));
try {
if (dsdt != null)
dsdt.parse();
} catch (ResourceNotFreeException ex1) {
log.error("Error parsing DSDT:", ex1);
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?