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

📄 monesloader.cpp

📁 MONA是为数不多的C++语言编写的一个很小的操作系统
💻 CPP
字号:
/*!    \file   MonesLoader.cpp    \brief  Mones NIC僪儔僀僶僀儞僗僞儞僗 儘乕僟乕    Copyright (c) 2004 Yamami    All rights reserved.    License=MIT/X License    \author  Yamami    \version $Revision: 1.1 $    \date   create:2004/10/31 update:$Date: 2004/10/31 14:29:43 $*//*! \class MonesLoader *  \brief Mones NIC僪儔僀僶僀儞僗僞儞僗 儘乕僟乕 */#include <pci/Pci.h>#include "MonesLoader.h"#include "MonesConfig.h"#include "MonesGlobal.h"#include "AbstractMonic.h"#include "Ne2000MoNic.h"/*!    \brief initialize         MonesLoader 僐儞僗僩儔僋僞    \author Yamami    \date   create:2004/10/31 update:$Date: 2004/10/31 14:29:43 $*/MonesLoader::MonesLoader(){}/*!    \brief initialize         MonesLoader 僨僗僋僩儔僋僞    \author Yamami    \date   create:2004/10/31 update:$Date: 2004/10/31 14:29:43 $*/MonesLoader::~MonesLoader() {}/*!    \brief setup         MonesLoader setup    \author Yamami    \date   create:2004/10/31 update:$Date: 2004/10/31 14:29:43 $*/void MonesLoader::setup() {    //壗傕偟側偄丅}/*!    \brief getNicInstance         NIC僪儔僀僶偺僀儞僗僞儞僗傪摼傞丅    \author Yamami    \date   create:2004/10/31 update:$Date: 2004/10/31 14:29:43 $*/AbstractMonic* MonesLoader::getNicInstance() {        //TODO 2004/10/31 尰嵼    // PCI僨僶僀僗専嶕偟偰丄尒偮偐傟偽 QEMU / 尒偮偐傜側偗傟偽 Bochs 偲敾抐偟    // NE2000僪儔僀僶傪儘乕僪偡傞丅    // 偦偺懠娐嫬偱偼丄儘乕僪偵幐攕        int ret;    PciInf *pciinfo;              //PCI儔僀僽儔儕    Ne2000MoNic *nicDriver;        //PCI儔僀僽儔儕僋儔僗偺僀儞僗僞儞僗壔    Pci* pcilib = new Pci();        //TODO 堦帪偟偺偓側偺偱丄儅僕僢僋僫儞僶乕傪梡偄傞    //QEMU忋偺丄NE2000傪扵偡    pciinfo = pcilib->CheckPciExist(0x10EC,0x8029);        if(pciinfo->Exist == 0){        //尒偮偐傟偽        //NE2000偺儘乕僪        nicDriver = new Ne2000MoNic();                //QEMU愝掕        nicDriver->setNicIRQ(11);        nicDriver->setNicIOBASE(0xC100);            }    else{        //尒偮偐傜側偗傟偽        //NE2000偺儘乕僪        nicDriver = new Ne2000MoNic();                //Bochs愝掕        nicDriver->setNicIRQ(3);        nicDriver->setNicIOBASE(0x240);        }            //NIC弶婜壔    ret = nicDriver->init();        //if(ret != 0){    //    //弶婜壔偵幐攕偟偨応崌丄NULL僪儔僀僶傪曉偡丅    //    nicDriver = 0;    //        //}            return nicDriver;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -