CN1648862A - 一种通过pci扩展rom实现网络功能的方法 - Google Patents
一种通过pci扩展rom实现网络功能的方法 Download PDFInfo
- Publication number
- CN1648862A CN1648862A CN 200510037709 CN200510037709A CN1648862A CN 1648862 A CN1648862 A CN 1648862A CN 200510037709 CN200510037709 CN 200510037709 CN 200510037709 A CN200510037709 A CN 200510037709A CN 1648862 A CN1648862 A CN 1648862A
- Authority
- CN
- China
- Prior art keywords
- pci
- network
- function
- expansion rom
- rom
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明的目的在于提供一种在PC加载操作系统之前,通过PCI扩展ROM实现网络功能的方法。根据《PCI局部总线标准》及PC启动过程的知识,PC在上电或重启时,在执行POST(PowerOn Self-Test)时,在加载磁盘中的操作系统之前,会扫描加PCI总线上的各PCI设备,如果发现某个PCI设备带有扩展ROM,且这个扩展ROM中的数据符合Boot ROM的标准格式,PC就会依次加载并运行这些Boot ROM。因此,我们可以以PCI扩展ROM的工作机制为基础,编写具有网络通讯介质驱动功能的Boot ROM程序,使PC在加载操作系统之前具有网络功能。该方法的实现载体不受制于PCI卡的类型(可以不是网卡),在其基础上可灵活的开发各种应用(如网络认证,网络数据传输等)。
Description
技术领域
本发明是关于一种实现网络功能的方法,具体的说,是关于一种在PC加载操作系统之前,通过PCI扩展ROM实现网络功能的方法。
背景技术
随着计算机网络应用的日益普及,人们对计算机的灵活性、易用性,网络功能等方面提出了更高的要求。我们知道,现在各种操作系统中都集成了网络功能,这提高了人们使用电脑进行工作的效率,也给管理上带来了便利,但这些都是需要电脑在加载操作系统后。如何使电脑在加载操作系统之前,也具有网络功能,享受计算机网络带来的种种便利,这种需求由来已久,业界也针对性的提出了一些解决方案,进行了有益的尝试,如基于PXE(PrebootExecution Environment)、RPL(Remote Initial Program Load)等技术的远程启动,但这些方法都存在些不足,其具体的实现载体都受制于特定的网卡,应用领域比较单一,已不能很好的满足灵活性、易用性等要求。
本发明的目的在于提供一种在PC加载操作系统之前,通过PCI扩展ROM实现网络功能的方法。根据《PCI局部总线标准》及PC启动过程的知识,PC在上电或重启时,在执行POST(PowerOn Self-Test)时,在加载磁盘中的操作系统之前,会扫描加PCI总线上的各PCI设备,如果发现某个PCI设备带有扩展ROM,且这个扩展ROM中的数据符合Boot ROM的标准格式,PC就会依次加载并运行这些Boot ROM。因此,我们可以以PCI扩展ROM的工作机制为基础,编写具有网络通讯介质驱动功能的Boot ROM程序,使PC在加载操作系统之前具有网络功能。该方法的实现载体不受制于PCI卡的类型(可以不是网卡),在其基础上可灵活的开发各种应用(如网络认证,网络数据传输等)。
发明内容
为了以上目的,本发明提供了一种通过PCI扩展ROM实现网络功能的方法,该方法包括:
①.编写基于BIOS环境下的网络通讯介质的驱动程序及其他功能程序,将其集成到BootROM程序中,并固化到带PCI扩展ROM接口的PCI设备的扩展ROM中,出于兼容性的考虑,该驱动程序可以包括多种网络通讯介质的驱动功能,并具有可配置或选择性;
②.在PC的启动过程中,运行到该PCI扩展ROM阶段时,程序根据用户的配置或选择,去查找网络通讯介质并加载及运行相应的驱动程序,使网络通讯介质正常工作,根据具体的应用与其他网络实体通信实现网络功能。
附图说明
在本专利申请的权利要求书中,具体地指出了本发明的主题,并清楚地对其提出了专利保护。然而参照下面的详细说明和附图,可以更好的理解本发明的有关结构和实现方法以及其目的、特征和优势。
图1为正常PC的启动过程;
图2具有本发明的网络功能功能时,PC的启动过程。
具体实施方法
在以下的详细说明中,描述了特定的细节以便提供对本发明全面的理解。然而本专业的技术人员会认识到,本发明也可以用其它相类似的细节实施。
尽管本发明不限于此,但作为本发明的一个具体的实施例,在一台主板上集成RTL8139CPCI网卡的PC上,通过PCI扩展ROM实现网络功能,来发送一个数据包,收到一个数据包,自动完成对该PC启动的控制步骤如下:
按步骤①完成编写RTL8139C PCI网卡的驱动程序及其他功能程序,将其集成到Boot ROM程序中,并固化到一个带PCI扩展ROM接口的PCI设备(如PCI硬盘保护卡)的扩展ROM介质(如FLASH)中,再将这个PCI设备安装到PC中,同时确保该PCI扩展ROM中的Boot ROM能在PC的启动过程中被加载及运行。在PC的启动过程中如步骤②所述,运行到该PCI扩展ROM阶段时,程序可以根据PCI ID(用户可配置或选择)去查找RTL8139C PCI网卡,并加载及运行已集成到该Boot ROM中的RTL8139C PCI网卡的驱动程序,使网络通讯介质正常工作,然后通过RTL8139C PCI网卡发送一个广播数据包,在等待一定的时间内,判断是否接收到来自一个特定网卡地址的应答数据包,如果没有接收到该应答包就输出提示信息,中止本次PC的启动过程,如果有接收到该应答包,就停止该RTL8139C PCI网卡及驱动程序工作,并将之复位到默认的状态,然后按正常的Boot ROM工作流程交出控制权,以继续本次PC的启动过程。通过BIOS标准中断int lah,直接访问PCI设备的部分功能性代码参考如下:
mov ax,0b101h;判断是否支持该int lah功能
int lah;调用后,如ah为0就表示支持,否则不支持。
mov ax,0b102h;通过cx,dx指定的PCI ID及SI指定定的序号,查找PCI设备
mov cx,08139h;8139pci网卡
mov dx,010ech;realtek公司
mov si,0;当有多块卡时,取找的第一块
int lah;调用后,如ah为0就表示成功,同时返回该PCI位置信息到bx中。
mov ax,0b108h;al中08/09/0ah分别表示8/16/32位读,0b/0c/0dh分别表示8/16/32位写
mov di,0;结合前面在bx的PCI位置信息及PCI配置空间中寄存器的号
int lah;调用后,如ah为0就表示成功,数据存储都通过(e)cx。
虽然此处说明描述了本发明的某此特征及一种实现方法,但是对于本专业的技术人员来说,将会出现许多修改、替换、变化和等效代换。因此,本发明的保护范围由所附的权利要求的范围为准。
Claims (3)
1.一种通过PCI扩展ROM实现网络功能的方法,该方法包括以下步骤:
①.编写基于BIOS环境下的网络通讯介质的驱动程序及其他功能程序,将其集成到BootROM程序中,并固化到带PCI扩展ROM接口的PCI设备的扩展ROM中,出于兼容性的考虑,该驱动程序可以包括多种网络通讯介质的驱动功能,并具有可配置或选择性;
②.在PC的启动过程中,运行到该PCI扩展ROM阶段时,程序根据用户的配置或选择,去查找网络通讯介质并加载及运行相应的驱动程序,使网络通讯介质正常工作,根据具体的应用与其他网络实体通信实现网络功能。
2.如权利要求1所述一种通过PCI扩展ROM实现网络功能的方法,其特征在于:编写基于BIOS环境下的网络通讯介质的驱动程序及其他功能程序,将其集成到Boot ROM程序中,并固化到带PCI扩展ROM接口的PCI设备的扩展ROM中,出于兼容性的考虑,该驱动程序可以包括多种网络通讯介质的驱动功能,并具有可配置或选择性。
3.如权利要求1所述一种通过PCI扩展ROM实现网络功能的方法,其特征在于:在PC的启动过程中,运行到该PCI扩展ROM阶段时,程序根据用户的配置或选择,去查找网络通讯介质并加载及运行相应的驱动程序,使网络通讯介质正常工作,根据具体的应用与其他网络实体通信实现网络功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200510037709 CN1648862A (zh) | 2005-02-01 | 2005-02-01 | 一种通过pci扩展rom实现网络功能的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200510037709 CN1648862A (zh) | 2005-02-01 | 2005-02-01 | 一种通过pci扩展rom实现网络功能的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1648862A true CN1648862A (zh) | 2005-08-03 |
Family
ID=34876181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200510037709 Pending CN1648862A (zh) | 2005-02-01 | 2005-02-01 | 一种通过pci扩展rom实现网络功能的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1648862A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101021793B (zh) * | 2006-02-13 | 2010-09-29 | 刘文斌 | 利用扩展BIOS技术实现Pre-OS应用的方法及系统 |
CN101236498B (zh) * | 2007-07-31 | 2011-10-19 | 北京理工大学 | 一种借助PCI卡启动在Windows操作系统中嵌入内核驱动程序的方法 |
CN101382898B (zh) * | 2007-09-04 | 2012-06-27 | 英特尔公司 | Pre-os应用程序升级和许可控制 |
CN102609034A (zh) * | 2011-01-21 | 2012-07-25 | 上海爱瑞科技发展有限公司 | 一种通用网络数据预处理pci卡 |
CN109086181A (zh) * | 2018-09-21 | 2018-12-25 | 郑州云海信息技术有限公司 | 一种bios架构、自检方法、系统和存储介质 |
CN110858184A (zh) * | 2018-08-24 | 2020-03-03 | 龙芯中科技术有限公司 | 一种pci总线设备枚举方法和装置 |
-
2005
- 2005-02-01 CN CN 200510037709 patent/CN1648862A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101021793B (zh) * | 2006-02-13 | 2010-09-29 | 刘文斌 | 利用扩展BIOS技术实现Pre-OS应用的方法及系统 |
CN101236498B (zh) * | 2007-07-31 | 2011-10-19 | 北京理工大学 | 一种借助PCI卡启动在Windows操作系统中嵌入内核驱动程序的方法 |
CN101382898B (zh) * | 2007-09-04 | 2012-06-27 | 英特尔公司 | Pre-os应用程序升级和许可控制 |
CN102609034A (zh) * | 2011-01-21 | 2012-07-25 | 上海爱瑞科技发展有限公司 | 一种通用网络数据预处理pci卡 |
CN110858184A (zh) * | 2018-08-24 | 2020-03-03 | 龙芯中科技术有限公司 | 一种pci总线设备枚举方法和装置 |
CN110858184B (zh) * | 2018-08-24 | 2021-07-20 | 龙芯中科(北京)信息技术有限公司 | 一种pci总线设备枚举方法和装置 |
CN109086181A (zh) * | 2018-09-21 | 2018-12-25 | 郑州云海信息技术有限公司 | 一种bios架构、自检方法、系统和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102439573B (zh) | 用于支持非虚拟化系统中的存储器增长的互操作系统存储器热交换 | |
CN1648862A (zh) | 一种通过pci扩展rom实现网络功能的方法 | |
US8661235B2 (en) | Firmware storage medium with customized image | |
US20080005462A1 (en) | Method of configuring non-volatile memory for a hybrid disk drive | |
EP2135167A1 (en) | Remove-on-delete technologies for solid state drive optimization | |
CN111198663B (zh) | 控制数据存取操作的方法、系统、装置以及存储介质 | |
CN102193817A (zh) | 简化物理和虚拟部署的管理 | |
CN102591675A (zh) | 使用共享存储块管理多软件镜像的方法和系统 | |
CN101110039A (zh) | 终端设备自安装及自启动系统及方法 | |
GB2434667A (en) | Maintaining System Management BIOS in a computer system | |
CN109426613A (zh) | 在uefi中检索调试数据的方法及其电脑系统 | |
CN101207516A (zh) | 单片电路和模块系统中的管理控制器远程安装性能的改进 | |
WO2006023274A2 (en) | System and method for configuring computer for operation | |
CN1266599C (zh) | 驱动程序的安装方法 | |
CN1266595C (zh) | 一种嵌入式操作系统半开放自动升级的方法 | |
CN100346302C (zh) | 一种通过磁盘主引导记录实现网络功能的方法 | |
CN100339848C (zh) | 自动配置或恢复计算机系统网络配置的方法 | |
US20050055486A1 (en) | Methods and apparatus to enable console redirection in a multiple execution environment | |
CN1818824A (zh) | 一种可靠性高的个人计算机及操作系统 | |
TWI242160B (en) | Method and tools to downsize existing operating systems for embedded applications | |
US20230229316A1 (en) | Snapshots with smart network interface controller | |
CN101551752B (zh) | 在不同电脑使用同一操作系统的方法及系统 | |
CN114489865A (zh) | 一种os级实现bios配置修改的方法 | |
CN1127243C (zh) | 远程访问客户系统个别初始化设定的数据处理系统和方法 | |
CN114296810A (zh) | 一种操作系统迁移方法、装置、服务器与存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |