问题标签 [option-rom]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bios - bios如何以退出模式启动?
我有一个选项 rom,但除非我按 esc 键并且 bios 调用选项 rom,否则 bios 不会启动。我想知道bios如何在不按esc键的情况下调用选项rom?它会跳转到同一个入口点吗?特别是当我只能看到启动画面时,选项 rom 的输出在哪里?
x86 - PCIe 扩展 ROM 的重定位
根据 PCIe FW 规范 3.1 说
在将控制权返回给 BIOS 之前,扩展 ROM 代码会移动运行时代码
我目前正在做的是将扩展 ROM 二进制文件从临时位置复制到运行时位置(这两个位置分别由 CS 和 BX 中的 BIOS 提供),并且我在此复制期间禁用中断并在完成后启用,我我还在更新字节校验和,以便 BIOS 将其视为有效映像,正在发生的事情是在处理一些初始 BIOS 调用之后,系统正在重新启动,所以我怀疑二进制损坏,但根据 PCIe FW 规范 3.1
系统固件必须对 PCI 扩展 ROM 运行时代码驻留在新范围内的区域进行写保护。
那么在将扩展 ROM 复制到运行时位置时,是否需要一些步骤或需要注意什么?
问候,
阿尔卡
x86 - VGA 卡选项 ROM 的调试选项
哪些调试选项可用于开发 PCIe VGA 卡选项 ROM,可用于仅包含旧版 BIOS 的不同 x86 板?
firmware - 揭秘选项 ROM
我知道选项 ROM 是适配器控制器上的固件代码,它在系统开机时启动。我的问题是,固件代码是在适配器控制器上本地运行还是在系统 CPU 上运行?该代码是否需要在系统内存中?
bios - 选项 rom:PXE 设计
在研究 PCI 固件规范和查看 PXE 引导代理的现有实现期间,我对它应该如何工作存在误解。
根据 PCI 固件规范,在 POST 过程中,BIOS 应该将 Option ROM 映射到 UMB 内存(0xC000-0xF000),然后通过偏移量 0x3 调用“Init”入口点,然后 BIOS 可以禁用 Option ROM。
PXE oprom 二进制文件由三部分组成:“初始化代码”、“基本代码”和“UNDI 代码”。BIOS 仅加载到 UMB 中的“初始化代码”。基本代码和 UNDI 代码稍后通过直接从闪存(从 PCI 闪存 BAR(BAR1,根据英特尔规范)复制)加载到内存中。
问题:需要这种工作算法的原因是什么?为什么供应商不使用 BIOS 机制,也不将整个 Extension ROM 加载到内存中(而是从 Flash BAR 复制)?
assembly - Option Rom 代码无法使用 Qemu Emulation 打印预期的字符串
一直在尝试测试使用 FASM 或 NASM 编译的简单 ISA Option Rom 程序,该程序仅打印出简单的“Hello World”消息。
问题是在 QEMU 中测试时,我得到了几个意外字符,而不是打印字符串。但是,这些属性可以工作并更改文本颜色,但经过数小时的 Google 搜索后无法弄清楚。
最好的猜测是ORG
需要设置命令,因为AL
从SI
using复制了错误的内存地址LODSB
。有任何想法吗??