The invention provides an address space allocation method and device, which includes: acquiring the initial address space passed to the kernel according to the preset specification; including low-end memory space and high-end memory space in the initial address space; dividing the preset size address space from low-end memory space as firmware reserved space; and taking high-end memory space and low-end memory space as firmware reserved space. Remaining memory space except firmware reserve space is used as the kernel address space, and the kernel address space is passed to the kernel for use; firmware reserve space is used as the dedicated address space of runtime services. Thus, the problem of parameter transfer between UEFI and Linux kernel can be solved without modifying the operating system kernel, so that the MIPS architecture can use the corresponding functions of Runtime Services when the support of Runtime Services is not perfect.
【技术实现步骤摘要】
地址空间分配方法和装置
本专利技术涉及计算机
,尤其涉及一种地址空间分配方法和装置。
技术介绍
UEFI作为操作系统和硬件之间的接口,最主要功能就是为操作系统加载器准备软件和硬件资源。目前,UEFI是以启动服务(BootServices)和运行时服务(RuntimeServices)的形式提供给操作系统和UEFI应用程序使用的。其中,RuntimeServices及其相关的数据结构从进入驱动执行环境(DriverExecutionEnvironment,DXE)阶段被初始化,直到操作系统结束,都存在并向上层(操作系统、操作系统加载器、UEFI应用程序或UEFI驱动)提供服务。为了使用RuntimeServices,需要操作系统添加相应的功能。而现有的Linux内核中并未添加相关无内部互锁流水级的微处理器(Microprocessorwithoutinterlockedpipedstages,MIPS)架构对RuntimeServices的支持功能,因此需要在内核下添加相应的架构,才能实现对RuntimeServices的支持。但是在内核下添加相应的架构,需要对操作系统的内核做修改,工作量很大,且容易影响内核的其他架构功能。
技术实现思路
本专利技术提供一种地址空间分配方法和装置,可以在不对操作系统内核做修改的前提下,解决UEFI与Linux内核之间的传参问题,使得MIPS架构在RuntimeServices支持不完善的情况下能够使用RuntimeServices的相应功能。第一方面,本专利技术实施例提供一种地址空间分配方法,包括:根据预设的规范,获取传递 ...
【技术保护点】
1.一种地址空间分配方法,其特征在于,包括:根据预设的规范,获取传递给内核的初始地址空间;所述初始地址空间中包括低端内存空间和高端内存空间;从所述低端内存空间中划分出预设大小的地址空间,作为固件保留空间;将所述高端内存空间,以及低端内存空间中除去固件保留空间以外的剩余内存空间作为内核地址空间,并将所述内核地址空间传递给内核使用;将所述固件保留空间作为运行时服务的专用地址空间。
【技术特征摘要】
1.一种地址空间分配方法,其特征在于,包括:根据预设的规范,获取传递给内核的初始地址空间;所述初始地址空间中包括低端内存空间和高端内存空间;从所述低端内存空间中划分出预设大小的地址空间,作为固件保留空间;将所述高端内存空间,以及低端内存空间中除去固件保留空间以外的剩余内存空间作为内核地址空间,并将所述内核地址空间传递给内核使用;将所述固件保留空间作为运行时服务的专用地址空间。2.根据权利要求1所述的方法,其特征在于,从所述低端内存空间中划分出预设大小的地址空间,作为固件保留空间,包括:确定所述低端内存空间的地址范围;将所述地址范围中的最高位地址作为起始地址,按照低位地址方向,划分出预设大小的地址空间作为固件保留空间。3.根据权利要求1或2所述的方法,其特征在于,将所述固件保留空间作为运行时服务的专用地址空间,包括:将所述固件保留空间划分为多个子空间,所述子空间用于存储运行时服务所执行的功能代码,以及运行时服务的相关数据;所述相关数据包括:系统管理基本输入输出系统SMBIOS的相关结构列表、电源管理需要保存的数据、内核传递参数;所述功能代码包括:操作系统关机代码和重启代码。4.根据权利要求3所述的方法,其特征在于,所述固件保留空间还包括:调试地址空间、功能扩展空间、共享地址空间;其中,所述共享地址空间接收内核和BIOS的访问。5.一种地址空间分配装置,其特征在于,包括:获取模块,用于根据预设的规范,获取传递给内核的初始地址空间;所述初始地址空间中包括低端内存空间和高端内...
【专利技术属性】
技术研发人员:赵雪峰,李强,李超,王玉龙,
申请(专利权)人:龙芯中科技术有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。