更新smbios的方法和终端设备的制造方法_3

文档序号:8361261阅读:来源:国知局
ypel7大小与旧Typel7大小差异,在内存中调整其他SMB1S type的位置,由于本发明实施例中为热插内存条,所以往高地址搬移其他SMB1S type的位置;再后,根据匹配关系,按照TYPE17_INF0_CHG 更新 Typel7 ;更新 SMB1S 的入口点结构(Entry point structure,EPS)的结构表长度(Structure Table Length);更新 SMB1S EPS 中的校验和(checksum);最后,锁定内存地址OxEOOOO?Oxi7OOOO,完成SMB1S的更新。
[0098]390,结束。
[0099]因此,本发明实施例通过在终端设备中热插或热拔硬件设备后,获取与SMB1表对应的硬件设备的变化信息;根据硬件设备的变化信息,更新SMB1S表。本发明实施例方法无需重启,能够动态更新SMB10S,提升用户体验。
[0100]图4是根据本发明另一实施例的更新SMB1S的方法的示意性流程图。图4所示的方法中为热拔内存条时更新SMB1S的情形。具体地,如图4所示的方法,包括:
[0101]410,上电自检。
[0102]换句话说,系统正常开机时,系统上电,进行上电自检(Power On SelfTest, POST),或者为 B1S STARTUP。
[0103]420,内存初始化。
[0104]具体地,B1S开始内存初始化及其他设备的初始化。
[0105]430,生成 SMB1S 表。
[0106]具体地,在初始化后,生成SMB1S表(SMB1S Table),并将SMB1S表存储在内存中。
[0107]440,进入操作系统。
[0108]具体地,在生成B1S Table之后,进入操作系统(Operat1n System,OS)。
[0109]450,内存板热拔。
[0110]具体地,内存板热拔,触发SMI中断,之后进行后续步骤。
[0111]460,内存板寄存器设置,下电。
[0112]具体地,将热拔的内存板下电,B1S对内存进行初始化,按照格式搜集内存变化信息。具体搜集SMB1S Typel7中的属性标志、存储总宽度、数据宽度、形体尺寸、速率、时钟速率、已扩展的容量、字符串4、字符串4、字符串5和字符串6。
[0113]470,ACPI 热移除。
[0114]具体地,ACPI热添加,通知OS有内存移除。
[0115]480,SMB1S 更新。
[0116]具体地,B1S根据初始化搜集的变化内存条信息,更新SMB1S Table Typel7,具体更新SMB1S Type 17中的属性标志、存储总宽度、数据宽度、形体尺寸、速率、时钟速率、已扩展的容量、字符串3、字符串4、字符串5和字符串6。
[0117]进一步地,首先解锁内存地址OxEOOOO?0xR)000,其中可以通过设置PAM0123和PAM456寄存器进行解锁;然后,B1S根据热拔内存初始化搜集的TYPE17_INF0_CHG的信息中的DeviceLoc做匹配找到当前对应的Typel7 ;再后,根据需减少最新信息的Typel7大小与旧Typel7大小差异,在内存中调整其他SMB1S type的位置,由于本发明实施例中为热拔内存条,所以往低地址搬移其他SMB1S type的位置;再后,根据匹配关系,按照TYPE17_INF0_CHG 更新 Typel7 ;更新 SMB1S 的入口点结构(Entry point structure,EPS)的结构表长度(Structure Table Length);更新 SMB1S EPS 中的校验和(checksum);最后,锁定内存地址OxEOOOO?Oxi7OOOO,完成SMB1S的更新。
[0118]490,结束。
[0119]因此,本发明实施例通过在终端设备中热插或热拔硬件设备后,获取与SMB1表对应的硬件设备的变化信息;根据硬件设备的变化信息,更新SMB1S表。本发明实施例方法无需重启,能够动态更新SMB10S,提升用户体验。
[0120]应理解,图3和图4的例子是为了帮助本领域技术人员更好地理解本发明实施例,而非要限制本发明实施例的范围。本领域技术人员根据所给出的图3和图4的例子,显然可以进行各种等价的修改或变化,这样的修改或变化也落入本发明实施例的范围内。
[0121]例如,图3和图4中仅示出了热插拔内存板的更新SMB1S的例子,本发明实施例的方法还可以应用于进行热插拔CPU或PCIE设备的情形中,在进行热插拔CPU更新SMB1S时与图3或图4的例子类似,区别在于在热插拔CPU时更新的是SMB1S中的Type4等。为避免重复,不再进行详述。
[0122]应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0123]上文中结合图1至图4详细描述了本发明实施例的更新SMB1S的方法,下面将结合图5和图6详细描述本发明实施例中的终端设备。
[0124]图5是根据本发明一个实施例的终端设备的示意框图。图5所示的终端设备可以为个人计算机、服务器、Pad、便携式、袖珍式、手持式、计算机内置的或者车载的移动装置等。如图5所示的终端设备500包括:获取单元510和更新单元520。
[0125]具体地,获取单元510用于在终端设备中热插或热拔硬件设备后,获取与SMB1S表对应的硬件设备的变化信息;更新单元520用于根据硬件设备的变化信息,更新SMB1S表。
[0126]因此,本发明实施例通过在终端设备中热插或热拔硬件设备后,获取与SMB1表对应的硬件设备的变化信息;根据硬件设备的变化信息,更新SMB1S表。本发明实施例方法无需重启,能够动态更新SMB10S,提升用户体验。
[0127]可选地,作为另一实施例,硬件设备包括:内存板、CPU或PCIE设备。
[0128]可选地,作为另一实施例,获取单元510在热插硬件设备后,获取与SMB1S表对应的增加的硬件设备的信息,或者,在热拔硬件设备后,获取与SMB1S表对应的减少的硬件设备的信息。
[0129]可选地,作为另一实施例,该终端设备500还包括:存储单元。具体地,存储单元用于将SMB1S表存储在内存中,其中,SMB1S表的地址空间为SMB1S结构表大小与缓冲区值之和。
[0130]可选地,作为另一实施例,更新单元520根据硬件设备的变化信息,更新SMB1S表中与硬件设备对应的数据表结构。
[0131]进一步地,作为另一实施例,更新单元520解锁存放SMB1S表的内存地址空间;根据设备变化信息,匹配与设备变化信息对应的数据表结构;根据数据表结构的变化情况,调整SMB1S表中其他数据表结构的地址;根据匹配结构和设备变化信息,更新SMB1S表中与硬件设备对应的数据表结构;更新SMB1S的EPS的结构表长度和校验和;锁定存放SMB1S表的内存地址空间。
[0132]可选地,作为另一实施例,硬件设备为内存板,更新单元520更新SMB1S表中与硬件设备对应的类型17。
[0133]进一步地,作为另一实施例,更新单元520更新类型17中的属性标志、存储总宽度、数据宽度、形体尺寸、速率、时钟速率、已扩展的容量、字符串3、字符串4、字符串5和字符串6。
[0134]应注意,图5所示的终端设备能够实现图1-图4的方法实施例中的各个过程。终端设备500的其他功能和操作可以参考图1-图4的方法实施例中的各个过程。为避免重复,此处不再详述。
[0135]图6是根据本发明另一实施例的终端设备的示意框图。图6所示的终端设备可以为个人计算机、服务器、Pad、便携式、袖珍式、手持式、计算机内置的或者车载的移动装置等。如图6所示的终端设备600包括:处理器610、存储器620和总线系统630。
[0136]具体地,处理器610通过总线系统630调用存储在存储器620中的代码,在终端设备中热插或热拔硬件设备后,获取与SMB1S表对应的硬件设备的变化信息;根据硬件设备的变化信息,更新SMB1S表。
[0137]因此,本发明实施例通过在终端设备中热插或热拔硬件设备后,获取与SMB1表对应的硬件设备的变化信息;根据硬件设备的变化信息,更新SMB1S表。本发明实施例方法无需重启,能够动态更新SMB10S,提升用户体验。
[0138]上述本发明实施例揭示的方法可以应用于处理器610中,或者由处理器610实现。处理器610可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器610中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器610可以是通用处理器、数字信号处理器(英文Digital Signal Processor,简称DSP)、专用集成电路(英文 Applicat1n Specific Integrated Circuit,简称 ASIC)、现成可编程门阵列(英文Field Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存取存储器(英文Random Access Memory,简称RAM)、闪存、只读存储器(英文Read-Only Memory,简称ROM)、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器620,处理器610读取存储器620中的信息,结合其硬件完成上述方法的步骤,该总线系统630除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统630。
[0139]可选地,作为另一实施例,硬件设备包括:内存板、CPU或PCIE设备。
[0140]可选地,作为另一实施例,处理器610在热插硬件设备后,获取与SMB1S表对应的增加的硬件设备的信息,或者,在热拔硬件设备后,获取与SMB1S表对应的减少的硬件设备的信息。
[0141]可选地,作为另一实施例,处理器610将SMB1S表存储在内存中,其中,SMB1S表的地址空间为SMB1S结构表大小与缓冲区值之和。
[0142]可选地,作为另一实施例,处理器610根据硬件设备的变化信息,
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1