bios

    0热度

    1回答

    我使用Tianocore用于引导Linux,据我所知,Linux可以利用Tianocore运行服务(重启,update_capsule等),这意味着 的Tianocore代码的某些部分仍然是不变的Linux 。 Linux永远不会触及那个内存。 我的问题是,它是Tianocore代码的一部分(与运行时服务有关)还是整个Tianocore仍然未被Linux内核触发? 以及,Linux内核如何知道包含

    2热度

    2回答

    为了学习的目的,我已经研究过制作一个小的操作系统,现在正在引导加载程序中。我希望能够使用int 0x13从软驱读取扇区,将它们放入内存,然后跳转到该代码。以下是我迄今为止: org 0x7c00 bits 16 main: call setup_segments mov ah, 2 ; function mov al, 1 ; num of sectors

    4热度

    1回答

    我正在读关于A20线http://wiki.osdev.org/A20_Line,这似乎表明A20行默认情况下禁用。在Pentium上,如果0xFFFFFFF0是硬复位后立即输出的地址,是否意味着默认启用A20线?

    1热度

    1回答

    我的引导程序代码遇到问题。我尝试用BOCHS将INT 13h AH = 42h:“Extended Read Sectors From Drive”BIOS 3.0版本的功能(EDD-3.0)从实际模式中将硬盘映像中的内核代码复制到0x100000以上的内存位置。 当我使用INT13 AH = 41h BX = 55AAh函数来检查EDD-3.0的支持时,我得到了肯定的结果。我正在使用BOCHS

    0热度

    1回答

    从ETW事件“BiosInitTime”寻找使用解析的“tracerpt.exe”我注意到了休眠/恢复S4它总是0(见末例子)。直接使用XPERF或通过ADK Windows评估控制台收集的etl跟踪信息也是如此。但通过WAC/WPA分析& GUI,将显示BIOS。所以它似乎有信息,但“tracerpt.exe”解析错误的事件来计算“BiosInitTime”。 有什么具体的启动/停止的事件我应该

    2热度

    1回答

    我正在读Coreboot的一些代码,它所做的第一件事是进入保护模式,这对intel x86引导程序来说是正常的,之后,它会加载并调用有效负载(在本例中为seabios) ,seabios会为硬件设备执行所有必要的初始化过程,其中一些过程需要在实模式下完成,最后BIOS会以0x7c00的形式始终以实模式调用OS引导程序。 我的疑问是:什么时候在保护模式和实模式(再次)之间切换? 是最终处理器模式:大

    0热度

    1回答

    我有一个uefi shell应用程序和一个uefi模块,提供类似的功能,我试图将它们合并成一个单独的实体,可以作为启动菜单或uefi shell的模块执行。 是否有可能创建一个可以像这样执行的efi应用程序? 的入口点模块是 ModMain ( IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable ) 而U

    0热度

    1回答

    and dword ptr [edi], not (1 shl 2) 你介意指向描述这种方言和/或提供其他方言相同语法的文献吗?对这条线的解释对我自己的教化也是有帮助的。 FWIW,我试图将这种方言的指令移植到我认为使用的coreboot,我猜是GNU方言。当我尝试用此指令改变我从I386-ELF-GCC收到以下错误组装: ./src/drivers/intel/fsp/cache_as_ra

    1热度

    1回答

    我正试图编写在我的计算机上启动Windows之前执行的脚本。 我已经开发出了一个简单的Linux bash脚本来完成这个任务,但是我想进一步改进。使用Linux脚本的问题在于,它为启动顺序增加了相当多的时间,因为Linux必须启动/初始化然后执行它,这显然是不受欢迎的。 我想要做的是写一个低级别的程序(assembly?machine code?),BIOS将读取,执行,然后继续Windows(或

    3热度

    2回答

    我有SMBus基地址寄存器, 并使用DIMM SMBus地址SMBBASE 04h编程SMBus发送从地址寄存器。 然后使用DIMM的SPD数据偏移量对SMBus主机命令寄存器进行编程SMBBASE 03h。 但主机命令寄存器(HCMD) - 胶版3H是尺寸:8位(255/FF), 所以如何我可以读取255个字节后? 例如: DDR4串行存在检测(SPD)表: 字节320:模块制造商ID代码 我需