📄 biosfinder.java
字号:
/*
* $Id: BIOSFinder.java,v 1.1 2003/11/25 11:41:54 epr Exp $
*/
package org.jnode.driver.firmware.bios;
import javax.naming.NameNotFoundException;
import org.apache.log4j.Logger;
import org.jnode.driver.Bus;
import org.jnode.driver.Device;
import org.jnode.driver.DeviceException;
import org.jnode.driver.DeviceFinder;
import org.jnode.driver.DeviceManager;
import org.jnode.driver.DriverException;
import org.jnode.driver.firmware.AcpiRSDPInfo;
import org.jnode.naming.InitialNaming;
import org.jnode.system.ResourceManager;
import org.jnode.system.ResourceNotFreeException;
/**
* @author Ewout Prangsma (epr@users.sourceforge.net)
*/
public class BIOSFinder implements DeviceFinder {
/** My logger */
private final Logger log = Logger.getLogger(getClass());
/**
* @param devMan
* @param bus
* @see org.jnode.driver.DeviceFinder#findDevices(org.jnode.driver.DeviceManager, org.jnode.driver.Bus)
* @throws DeviceException
*/
public void findDevices(DeviceManager devMan, Bus bus) throws DeviceException {
try {
final ResourceManager rm = (ResourceManager) InitialNaming.lookup(ResourceManager.NAME);
final AcpiRSDPInfo info = BIOS.findAcpiRSDTPTR(rm);
if (info != null) {
final Device bios = new Device(bus, "bios");
bios.setDriver(new BIOS(info));
devMan.register(bios);
} else {
log.debug("Not a BIOS ACPI system");
}
} catch (ResourceNotFreeException ex) {
log.debug("Cannot claim BIOS region", ex);
throw new DeviceException(ex);
} catch (DriverException ex) {
throw new DeviceException(ex);
} catch (NameNotFoundException ex) {
throw new DeviceException("ResourceManager not found", ex);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -