From ff53d177c3089d7626c11a1525badfef86c5cfd9 Mon Sep 17 00:00:00 2001 From: d0p1 Date: Thu, 18 Jul 2024 11:48:35 +0200 Subject: [PATCH] chore: add propaganda page --- docs/config/Menu.txt | 27 ++++++++++++++++++++++++--- docs/propaganda.txt | 6 ++++++ kernel/dev/at/com.inc | 6 ++++++ kernel/dev/at/floppy.inc | 5 +++++ kernel/fs/stpdfs.inc | 12 ++++++++++++ kernel/idt.inc | 8 ++++++++ 6 files changed, 61 insertions(+), 3 deletions(-) create mode 100644 docs/propaganda.txt diff --git a/docs/config/Menu.txt b/docs/config/Menu.txt index 645ff2e..49fb9a0 100644 --- a/docs/config/Menu.txt +++ b/docs/config/Menu.txt @@ -20,7 +20,7 @@ Timestamp: Updated yyyy/mm/dd # These are indexes you deleted, so Natural Docs will not add them again # unless you remove them from this line. -Don't Index: Variables, Classes, Macros +Don't Index: Classes, Macros, Variables # -------------------------------------------------------------------------- @@ -89,25 +89,43 @@ Group: BootLoader { Group: Kernel { File: Introduction (kernel/intro.txt) + File: gdt.inc (kernel/gdt.inc) + File: heap.inc (kernel/heap.inc) + File: idt.inc (kernel/idt.inc) File: isr.inc (kernel/isr.inc) File: kernel.asm (kernel/kernel.asm) File: klog.inc (kernel/klog.inc) Group: Devices { - File: IBM PC/AT (kernel/dev/at/intro.txt) - File: vga_console.inc (kernel/dev/vga_console.inc) + Group: At { + + File: IBM PC/AT (kernel/dev/at/intro.txt) + File: cga.inc (kernel/dev/at/cga.inc) + File: cmos.inc (kernel/dev/at/cmos.inc) + File: com.inc (kernel/dev/at/com.inc) + File: floppy.inc (kernel/dev/at/floppy.inc) + File: ide.inc (kernel/dev/at/ide.inc) + File: kbd.inc (kernel/dev/at/kbd.inc) + File: ne2k.inc (kernel/dev/at/ne2k.inc) + File: pit.inc (kernel/dev/at/pit.inc) + } # Group: At + + File: console.inc (kernel/dev/console.inc) + File: dev.inc (kernel/dev/dev.inc) } # Group: Devices Group: File Systems { File: fat.inc (kernel/fs/fat.inc) File: stpdfs.inc (kernel/fs/stpdfs.inc) + File: xv6fs.inc (kernel/fs/xv6fs.inc) } # Group: File Systems Group: System Includes { File: bootinfo.inc (kernel/sys/bootinfo.inc) + File: coff.inc (kernel/sys/coff.inc) File: cpu.inc (kernel/sys/cpu.inc) File: mmu.inc (kernel/sys/mmu.inc) File: registers.inc (kernel/sys/register.inc) @@ -121,6 +139,7 @@ Group: Kernel { File: lock.inc (kernel/lock.inc) File: pic.inc (kernel/pic.inc) + File: vfs.inc (kernel/vfs.inc) } # Group: Kernel Group: Lib { @@ -163,5 +182,7 @@ Group: Index { Constant Index: Constants File Index: Files Function Index: Functions + Struct Index: Structs + Type Index: Types } # Group: Index diff --git a/docs/propaganda.txt b/docs/propaganda.txt new file mode 100644 index 0000000..6df7991 --- /dev/null +++ b/docs/propaganda.txt @@ -0,0 +1,6 @@ +File: Propaganda + +About: Web buttons + +(see 80x15.png) +(see 88x31.png) diff --git a/kernel/dev/at/com.inc b/kernel/dev/at/com.inc index 52755c8..134ef68 100644 --- a/kernel/dev/at/com.inc +++ b/kernel/dev/at/com.inc @@ -2,9 +2,15 @@ COM_MAJOR = 1 +com_init: + ret + com_probe: ret com_irq: + pusha + + popa iret diff --git a/kernel/dev/at/floppy.inc b/kernel/dev/at/floppy.inc index 5ea2dcc..a4d30d6 100644 --- a/kernel/dev/at/floppy.inc +++ b/kernel/dev/at/floppy.inc @@ -78,8 +78,13 @@ floppy_psize: ret floppy_irq: + pusha + mov esi, szMsgFloppyIRQ + popa iret +szMsgFloppyIRQ db 'Floppy: IRQ', 0 + floppy_device: db 'floppy', 0, 0 dd floppy_init diff --git a/kernel/fs/stpdfs.inc b/kernel/fs/stpdfs.inc index 0864454..805c410 100644 --- a/kernel/fs/stpdfs.inc +++ b/kernel/fs/stpdfs.inc @@ -22,6 +22,7 @@ STPDFS_ROOTINO = 1 ;; Constant: STPDFS_NDIRECT STPDFS_NDIRECT = 7 ;; Constant: STPDFS_NAME_MAX + ;; Max file name length (28) STPDFS_NAME_MAX = 28 ;; Enum: StupidFS State @@ -81,6 +82,17 @@ struc StpdFS_Sb { DEFN StpdFS_Sb ;; Struc: StpdFS_Inode + ;; StupidFS on disk i-node + ;; + ;; .mode - TODO + ;; .nlink - TODO + ;; .uid - TODO + ;; .gid - TODO + ;; .flags - TODO + ;; .size - Date size in byte + ;; .zone - TODO + ;; .actime - TODO + ;; .modtime - TODO struc StpdFS_Inode { .mode dw ? .nlink dw ? diff --git a/kernel/idt.inc b/kernel/idt.inc index 88c4fd5..ccecfcc 100644 --- a/kernel/idt.inc +++ b/kernel/idt.inc @@ -33,6 +33,14 @@ idt_setup: cmp ecx, 0x30 jb @b + mov ecx, 36 + mov eax, com_irq + call idt_set_gate + + mov ecx, 38 + mov eax, floppy_irq + call idt_set_gate + mov ecx, 0x42 mov eax, isr_syscall call idt_set_gate