Skip to content

Commit c241eca

Browse files
committed
chore: update typst template
1 parent c273a10 commit c241eca

File tree

8 files changed

+26
-164
lines changed

8 files changed

+26
-164
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66

77
## 实验反馈
88

9-
- 交流实验中遇到的困难:[![Discussions](https://img.shields.io/github/discussions/YatSenOS/YatSenOS-Tutorial-Volume-2)](https://github.com/YatSenOS/YatSenOS-Tutorial-Volume-2/discussions)
10-
- 提出实验设计的问题:[![Issues](https://img.shields.io/github/issues/YatSenOS/YatSenOS-Tutorial-Volume-2)](https://github.com/YatSenOS/YatSenOS-Tutorial-Volume-2/issues)
11-
- 改善这个实验:[![Issues-pr](https://img.shields.io/github/issues-pr/YatSenOS/YatSenOS-Tutorial-Volume-2)](https://github.com/YatSenOS/YatSenOS-Tutorial-Volume-2/pulls)
9+
- 交流实验中遇到的困难:[![Discussions](https://img.shields.io/github/discussions/YatSenOS/YatSenOS-Tutorial-Volume-2)](https://github.com/YatSenOS/YatSenOS-Tutorial-Volume-2/discussions)
10+
- 提出实验设计的问题:[![Issues](https://img.shields.io/github/issues/YatSenOS/YatSenOS-Tutorial-Volume-2)](https://github.com/YatSenOS/YatSenOS-Tutorial-Volume-2/issues)
11+
- 改善这个实验:[![Issues-pr](https://img.shields.io/github/issues-pr/YatSenOS/YatSenOS-Tutorial-Volume-2)](https://github.com/YatSenOS/YatSenOS-Tutorial-Volume-2/pulls)
1212

1313
## 常见问题解答
1414

docs/css/inst.css

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,19 @@
66
font-family: 'JetBrains Mono', monospace;
77
font-weight: 600;
88
border-collapse: collapse;
9+
--inst-border: 0.06rem solid var(--md-default-fg-color);
910
}
1011
.inst-node {
1112
text-align: center;
1213
padding: 0.2em;
13-
border: 0.04rem solid var(--md-default-fg-color);
14+
border: var(--inst-border);
1415
}
1516
.inst-node-little,
1617
.fl-table-node {
1718
text-align: center;
1819
font-size: 0.7rem;
1920
padding: 0.15em;
20-
border: 0.04rem solid var(--md-default-fg-color);
21+
border: var(--inst-border);
2122
}
2223
.inst-numnode {
2324
font-size: 0.5rem;

docs/general/typst.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
关于 typst 的一些细节可以参考 [typst doc](https://typst.app/docs/),同时,推荐使用模板来撰写格式更加更为统一的实验报告,可以参考[模板](https://github.com/YatSenOS/YatSenOS-Tutorial-Volume-2/tree/main/template),后文给出了一个可能的使用方法。
66

7+
!!! tip "相关原始 [Typst 模板](https://github.com/SYSUMSC/GZ-Typst-Templates)目前由中山大学互联网与开源技术协会维护。"
8+
79
## 使用示例
810

911
!!! note "假设你已经成功安装 typst,并已经加入到系统路径"

docs/labs/0x01/tasks.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -186,14 +186,14 @@ unsafe {
186186

187187
!!! note "使用 `.gdbinit` 方便你的调试过程"
188188

189-
以下是一个 `.gdbinit` 的例子,你可以将其放置在你的工作目录下,这样每次进入 GDB 调试环境时,它都会自动加载。请注意部分指令是 `gef` 所提供的,详情请见调试文档。
190-
191-
```bash
192-
file esp/KERNEL.ELF
193-
gef-remote localhost 1234
194-
tmux-setup
195-
b ysos_kernel::init
196-
```
189+
以下是一个 `.gdbinit` 的例子,你可以将其放置在你的工作目录下,这样每次进入 GDB 调试环境时,它都会自动加载。请注意部分指令是 `gef` 所提供的,详情请见调试文档。
190+
191+
```bash
192+
file esp/KERNEL.ELF
193+
gef-remote localhost 1234
194+
tmux-setup
195+
b ysos_kernel::init
196+
```
197197

198198
- 使用 `c` 命令继续执行,你将会看到 QEMU 窗口中的输出,同时 GDB 将会在断点处停下。
199199
- 查看断点处的汇编和符号是否正确,使用 `vmmap``readelf` 等指令查看内核的加载情况。

docs/labs/0x02/tasks.md

Lines changed: 3 additions & 144 deletions
Original file line numberDiff line numberDiff line change
@@ -191,31 +191,7 @@ impl XApic {
191191

192192
查询文档可知,SPIV 寄存器的偏移量为 0xF0。其位描述如下:
193193

194-
<table class="inst">
195-
<tr>
196-
<td class="inst-numnodel">31</td>
197-
<td class="inst-numnode" colspan="16"></td>
198-
<td class="inst-numnoder">10</td>
199-
<td class="inst-numnoder">9</td>
200-
<td class="inst-numnoder">8</td>
201-
<td class="inst-numnode" colspan="3"></td>
202-
<td class="inst-numnoder">4</td>
203-
<td class="inst-numnoder">3</td>
204-
<td class="inst-numnoder">2</td>
205-
<td class="inst-numnoder">1</td>
206-
<td class="inst-numnoder">0</td>
207-
</tr>
208-
<tr>
209-
<td colspan="18" class="inst-node-little"></td>
210-
<td colspan="1" class="inst-node-little">FC</td>
211-
<td colspan="1" class="inst-node-little">EN</td>
212-
<td colspan="4" class="inst-node-little">Vector</td>
213-
<td colspan="1" class="inst-node-little">1</td>
214-
<td colspan="1" class="inst-node-little">1</td>
215-
<td colspan="1" class="inst-node-little">1</td>
216-
<td colspan="1" class="inst-node-little">1</td>
217-
</tr>
218-
</table>
194+
<table class="inst"><tr><td class="inst-numnodel">31<td class="inst-numnode"colspan="16"><td class="inst-numnoder">10<td class="inst-numnoder">9<td class="inst-numnoder">8<td class="inst-numnode"colspan="3"><td class="inst-numnoder">4<td class="inst-numnoder">3<td class="inst-numnoder">2<td class="inst-numnoder">1<td class="inst-numnoder">0<tr><td class="inst-node-little"colspan="18"><td class="inst-node-little"colspan="1">FC<td class="inst-node-little"colspan="1">EN<td class="inst-node-little"colspan="4">Vector<td class="inst-node-little"colspan="1">1<td class="inst-node-little"colspan="1">1<td class="inst-node-little"colspan="1">1<td class="inst-node-little"colspan="1">1</table>
219195

220196
因此,需要在保持其他位不变的情况下,将 EN bit 设置为 1,并将 Vector 设置为 `Irq::Spurious`,但是请注意实际设置的中断向量号需要加上 `Interrupts::IrqBase`。同时,此寄存器的 0-3 bit 无法被修改,始终为 1
221197

@@ -234,78 +210,7 @@ impl XApic {
234210

235211
Local Vector Table 寄存器用于设置中断向量号和触发模式。它们的位描述如下:
236212

237-
<table class="inst">
238-
<tr>
239-
<td class="inst-numnode" colspan="4"></td>
240-
<td class="inst-numnodel">31</td>
241-
<td class="inst-numnode" colspan="8"></td>
242-
<td class="inst-numnoder">18</td>
243-
<td class="inst-numnoder">17</td>
244-
<td class="inst-numnoder">16</td>
245-
<td class="inst-numnoder">15</td>
246-
<td class="inst-numnoder">14</td>
247-
<td class="inst-numnoder">13</td>
248-
<td class="inst-numnoder">12</td>
249-
<td class="inst-numnoder">11</td>
250-
<td class="inst-numnode" colspan="2"></td>
251-
<td class="inst-numnoder">8</td>
252-
<td class="inst-numnode" colspan="3"></td>
253-
<td class="inst-numnoder">0</td>
254-
</tr>
255-
<tr>
256-
<td colspan="4">Timer</td>
257-
<td colspan="10" class="inst-node-little">-</td>
258-
<td colspan="1" class="inst-node-little">TP</td>
259-
<td colspan="1" class="inst-node-little">M</td>
260-
<td colspan="3" class="inst-node-little">-</td>
261-
<td colspan="1" class="inst-node-little">DS</td>
262-
<td colspan="4" class="inst-node-little">-</td>
263-
<td colspan="4" class="inst-node-little">Vector</td>
264-
</tr>
265-
<tr>
266-
<td colspan="4">LINT0</td>
267-
<td colspan="11" class="inst-node-little">-</td>
268-
<td colspan="1" class="inst-node-little">M</td>
269-
<td colspan="1" class="inst-node-little">TM</td>
270-
<td colspan="1" class="inst-node-little">RI</td>
271-
<td colspan="1" class="inst-node-little">IP</td>
272-
<td colspan="1" class="inst-node-little">DS</td>
273-
<td colspan="1" class="inst-node-little">-</td>
274-
<td colspan="3" class="inst-node-little">DMode</td>
275-
<td colspan="4" class="inst-node-little">Vector</td>
276-
</tr>
277-
<tr>
278-
<td colspan="4">LINT1</td>
279-
<td colspan="11" class="inst-node-little">-</td>
280-
<td colspan="1" class="inst-node-little">M</td>
281-
<td colspan="1" class="inst-node-little">TM</td>
282-
<td colspan="1" class="inst-node-little">RI</td>
283-
<td colspan="1" class="inst-node-little">IP</td>
284-
<td colspan="1" class="inst-node-little">DS</td>
285-
<td colspan="1" class="inst-node-little">-</td>
286-
<td colspan="3" class="inst-node-little">DMode</td>
287-
<td colspan="4" class="inst-node-little">Vector</td>
288-
</tr>
289-
<tr>
290-
<td colspan="4">ERROR</td>
291-
<td colspan="11" class="inst-node-little">-</td>
292-
<td colspan="1" class="inst-node-little">M</td>
293-
<td colspan="3" class="inst-node-little">-</td>
294-
<td colspan="1" class="inst-node-little">DS</td>
295-
<td colspan="4" class="inst-node-little">-</td>
296-
<td colspan="4" class="inst-node-little">Vector</td>
297-
</tr>
298-
<tr>
299-
<td colspan="4">PCINT</td>
300-
<td colspan="11" class="inst-node-little">-</td>
301-
<td colspan="1" class="inst-node-little">M</td>
302-
<td colspan="3" class="inst-node-little">-</td>
303-
<td colspan="1" class="inst-node-little">DS</td>
304-
<td colspan="1" class="inst-node-little">-</td>
305-
<td colspan="3" class="inst-node-little">DMode</td>
306-
<td colspan="4" class="inst-node-little">Vector</td>
307-
</tr>
308-
</table>
213+
<table class="inst"><tr><td class="inst-numnode"colspan="4"><td class="inst-numnodel">31<td class="inst-numnode"colspan="8"><td class="inst-numnoder">18<td class="inst-numnoder">17<td class="inst-numnoder">16<td class="inst-numnoder">15<td class="inst-numnoder">14<td class="inst-numnoder">13<td class="inst-numnoder">12<td class="inst-numnoder">11<td class="inst-numnode"colspan="2"><td class="inst-numnoder">8<td class="inst-numnode"colspan="3"><td class="inst-numnoder">0<tr><td colspan="4">Timer<td class="inst-node-little"colspan="10">-<td class="inst-node-little"colspan="1">TP<td class="inst-node-little"colspan="1">M<td class="inst-node-little"colspan="3">-<td class="inst-node-little"colspan="1">DS<td class="inst-node-little"colspan="4">-<td class="inst-node-little"colspan="4">Vector<tr><td colspan="4">LINT0<td class="inst-node-little"colspan="11">-<td class="inst-node-little"colspan="1">M<td class="inst-node-little"colspan="1">TM<td class="inst-node-little"colspan="1">RI<td class="inst-node-little"colspan="1">IP<td class="inst-node-little"colspan="1">DS<td class="inst-node-little"colspan="1">-<td class="inst-node-little"colspan="3">DMode<td class="inst-node-little"colspan="4">Vector<tr><td colspan="4">LINT1<td class="inst-node-little"colspan="11">-<td class="inst-node-little"colspan="1">M<td class="inst-node-little"colspan="1">TM<td class="inst-node-little"colspan="1">RI<td class="inst-node-little"colspan="1">IP<td class="inst-node-little"colspan="1">DS<td class="inst-node-little"colspan="1">-<td class="inst-node-little"colspan="3">DMode<td class="inst-node-little"colspan="4">Vector<tr><td colspan="4">ERROR<td class="inst-node-little"colspan="11">-<td class="inst-node-little"colspan="1">M<td class="inst-node-little"colspan="3">-<td class="inst-node-little"colspan="1">DS<td class="inst-node-little"colspan="4">-<td class="inst-node-little"colspan="4">Vector<tr><td colspan="4">PCINT<td class="inst-node-little"colspan="11">-<td class="inst-node-little"colspan="1">M<td class="inst-node-little"colspan="3">-<td class="inst-node-little"colspan="1">DS<td class="inst-node-little"colspan="1">-<td class="inst-node-little"colspan="3">DMode<td class="inst-node-little"colspan="4">Vector</table>
309214

310215
- Vector 为中断向量号,当中断发生时,CPU 会跳转到中断向量表中对应处理程序执行。
311216
- DModeDelivery Mode)为中断传递模式,本实验中不做理解要求。
@@ -373,53 +278,7 @@ impl XApic {
373278

374279
中断命令寄存器的位描述如下:
375280

376-
<table class="inst">
377-
<tr>
378-
<td class="inst-numnode" colspan="3"></td>
379-
<td class="inst-numnodel">63</td>
380-
<td class="inst-numnode" colspan="3"></td>
381-
<td class="inst-numnoder">56</td>
382-
<td class="inst-numnode" colspan="17"></td>
383-
<td class="inst-numnoder">32</td>
384-
</tr>
385-
<tr>
386-
<td colspan="3" >0x310</td>
387-
<td colspan="5" class="inst-node-little">DF</td>
388-
<td colspan="18" class="inst-node-little">-</td>
389-
</tr>
390-
<tr>
391-
<td class="inst-numnode" colspan="3"></td>
392-
<td class="inst-numnodel">31</td>
393-
<td class="inst-numnode" colspan="4"></td>
394-
<td class="inst-numnoder">20</td>
395-
<td class="inst-numnode" colspan="1"></td>
396-
<td class="inst-numnoder">18</td>
397-
<td class="inst-numnode" colspan="1"></td>
398-
<td class="inst-numnoder">16</td>
399-
<td class="inst-numnoder">15</td>
400-
<td class="inst-numnoder">14</td>
401-
<td class="inst-numnoder">13</td>
402-
<td class="inst-numnoder">12</td>
403-
<td class="inst-numnoder">11</td>
404-
<td class="inst-numnode" colspan="2"></td>
405-
<td class="inst-numnoder">8</td>
406-
<td class="inst-numnode" colspan="4"></td>
407-
<td class="inst-numnoder">0</td>
408-
</tr>
409-
<tr>
410-
<td colspan="3" >0x300</td>
411-
<td colspan="6" class="inst-node-little">-</td>
412-
<td colspan="2" class="inst-node-little">DSH</td>
413-
<td colspan="2" class="inst-node-little">-</td>
414-
<td colspan="1" class="inst-node-little">TM</td>
415-
<td colspan="1" class="inst-node-little">LV</td>
416-
<td colspan="1" class="inst-node-little">-</td>
417-
<td colspan="1" class="inst-node-little">DS</td>
418-
<td colspan="1" class="inst-node-little">DM</td>
419-
<td colspan="3" class="inst-node-little">DMode</td>
420-
<td colspan="5" class="inst-node-little">Vector</td>
421-
</tr>
422-
</table>
281+
<table class="inst"><tr><td class="inst-numnode"colspan="3"><td class="inst-numnodel">63<td class="inst-numnode"colspan="3"><td class="inst-numnoder">56<td class="inst-numnode"colspan="17"><td class="inst-numnoder">32<tr><td colspan="3">0x310<td class="inst-node-little"colspan="5">DF<td class="inst-node-little"colspan="18">-<tr><td class="inst-numnode"colspan="3"><td class="inst-numnodel">31<td class="inst-numnode"colspan="4"><td class="inst-numnoder">20<td class="inst-numnode"colspan="1"><td class="inst-numnoder">18<td class="inst-numnode"colspan="1"><td class="inst-numnoder">16<td class="inst-numnoder">15<td class="inst-numnoder">14<td class="inst-numnoder">13<td class="inst-numnoder">12<td class="inst-numnoder">11<td class="inst-numnode"colspan="2"><td class="inst-numnoder">8<td class="inst-numnode"colspan="4"><td class="inst-numnoder">0<tr><td colspan="3">0x300<td class="inst-node-little"colspan="6">-<td class="inst-node-little"colspan="2">DSH<td class="inst-node-little"colspan="2">-<td class="inst-node-little"colspan="1">TM<td class="inst-node-little"colspan="1">LV<td class="inst-node-little"colspan="1">-<td class="inst-node-little"colspan="1">DS<td class="inst-node-little"colspan="1">DM<td class="inst-node-little"colspan="3">DMode<td class="inst-node-little"colspan="5">Vector</table>
423282

424283
具体的配置配置细节这里不做理解要求,只需要按照如下描述进行配置即可:
425284

docs/labs/0x03/tasks.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -301,9 +301,9 @@ pub fn new(init: Arc<Process>) -> Self {
301301

302302
!!! note "缺页异常?"
303303

304-
你可能会注意到,4GiB 的栈空间中实际映射的目前只有 2MiB,剩下的页面都是没有映射的。
304+
你可能会注意到,4GiB 的栈空间中实际映射的目前只有 2MiB,剩下的页面都是没有映射的。
305305

306-
在未来的实验内容中,你将会处理这种缺页异常,并在需要时为进程进行映射。
306+
在未来的实验内容中,你将会处理这种缺页异常,并在需要时为进程进行映射。
307307

308308
在了解了这些虚拟地址空间预设的情况下,进一步来考虑其他进程的内存布局。本次实验中,由于还没有“用户进程”的概念,可以暂时先考虑的少一些,但是便于本次实验使用的解决方案。
309309

template/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
## 使用方式
44

5-
- 安装 [Typst](https://typst.app)
6-
- 将本仓库克隆到任意目录
7-
- 通过 `ln -s /path/to/repo/ ./base` 将本仓库链接到你的项目
8-
- 在 Typst 中使用模板(例如 `#import "./base/templates/report.typ": *`
5+
- 安装 [Typst](https://typst.app)
6+
- 将本仓库克隆到任意目录
7+
- 通过 `ln -s /path/to/repo/ ./base` 将本仓库链接到你的项目
8+
- 在 Typst 中使用模板(例如 `#import "./base/templates/report.typ": *`
99

1010
你可以在 [usage.typ](./usage.typ) 中查看示例。

template/shared.typ

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
show link: underline
5757
set math.vec(delim: "[")
5858
set math.mat(delim: "[")
59-
show par: set block(spacing: line_height)
59+
set par(spacing: line_height)
6060

6161
doc
6262
}

0 commit comments

Comments
 (0)