⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 biosfinder.java

📁 纯java操作系统jnode,安装简单和操作简单的个人使用的Java操作系统
💻 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 + -