|
|
1.1 ! root 1: ! 2: raw_switch: ! 3: ! 4: Provides the code to switch between real and protected mode. ! 5: Switches between the environments "completely": ! 6: e.g. when switching to protected mode, ! 7: all the normal protected-mode state for that environment is set up. ! 8: ! 9: raw_pmode: ! 10: ! 11: i16_raw_enter_pmode() ! 12: Enters protoected mode from real mode. ! 13: Does not initialize IDT or TSS or anything else; ! 14: just gets the system into protected mode ! 15: with a simple temporary GDT. ! 16: Returns with interrupts turned off ! 17: (and they'd better stay off until there's a valid pmode IDT!) ! 18: ! 19: i16_raw_leave_pmode() ! 20: Assumes paging is turned off. ! 21: Returns with interrupts turned off; ! 22: they can probably be turned back on at any time. ! 23: ! 24: Depends on: ! 25: i16_die() ! 26: A20 enable/disable code (e.g. raw_a20). ! 27: gdt.h: KERNEL_16_CS, KERNEL_16_DS ! 28: ! 29: ! 30: ! 31: vm_param.h: ! 32: ! 33: Must export kvtolin(), lintokv() ! 34: ! 35:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.