Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
锟斤拷有点烫
cunix
提交
a50ed4a7
C
cunix
项目概览
锟斤拷有点烫
/
cunix
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
cunix
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
a50ed4a7
编写于
2月 15, 2021
作者:
R
rain
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
0.487s-boot: access 4GB memory in real-mode
上级
d611a60e
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
36 addition
and
5 deletion
+36
-5
LINES
LINES
+2
-0
README.md
README.md
+9
-1
boot/x86/loader.asm
boot/x86/loader.asm
+25
-4
未找到文件。
LINES
浏览文件 @
a50ed4a7
...
...
@@ -10,3 +10,5 @@
2021-2-15 0.466: 466 lines, 5 files, rain
2021-2-15 0.487: 487 lines, 5 files, rain
README.md
浏览文件 @
a50ed4a7
...
...
@@ -23,6 +23,14 @@ Cunix kernel
`
0.451s-boot
`:
	`
boot
` can load 8 sectors (4KB) of loader (not 1 sector).
`
0.466s-boot
`:
`
0.466s-boot
`:
	rebuild `
boot
`
`
0.487s-boot
`:
	`
loader
` let FS can access 4GB memory in real-mode. because
	`
loader
`
loaded GDT and load a data-segment to fs, then disable
	protect-mode.
</pre>
boot/x86/loader.asm
浏览文件 @
a50ed4a7
...
...
@@ -20,6 +20,8 @@
org
0x8000
jmp
_start
%include "arch/x86/segment.inc"
%include "arch/x86/paging.inc"
...
...
@@ -29,15 +31,34 @@ _start:
mov
si
,
message
call
print
.to_protect_mode:
; init segment register fs
.init_fs:
; enable A20 address 20 line
.open_a20
.open_a20
:
in
al
,
0x92
or
al
,
2
out
0x92
,
al
or
al
,
0x0
2
out
0x92
,
al
cli
lgdt
[
gdt32_descriptor
]
mov
eax
,
cr0
or
eax
,
0x01
mov
cr0
,
eax
mov
ax
,
data32
mov
fs
,
ax
mov
eax
,
cr0
and
eax
,
11111111111111111111111111111110b
mov
cr0
,
eax
; interrupt is disable
; now, FS has addressing out of 1MB like protect-mode.
.to_protect_mode:
; GDT is already load by .init_fs
mov
eax
,
cr0
; set CR0.bit 1 (Protect-mode Enable)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录