first thingy

This commit is contained in:
Medium Fries 2018-11-29 20:47:13 -08:00
commit 4f5f689c20
9 changed files with 567 additions and 0 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
*o
*elf

239
bochslog Normal file
View File

@ -0,0 +1,239 @@
00000000000i[ ] Bochs x86 Emulator 2.6
00000000000i[ ] Built from SVN snapshot on September 2nd, 2012
00000000000i[ ] System configuration
00000000000i[ ] processors: 1 (cores=1, HT threads=1)
00000000000i[ ] A20 line support: yes
00000000000i[ ] IPS is set to 1000000
00000000000i[ ] CPU configuration
00000000000i[ ] level: 6
00000000000i[ ] SMP support: no
00000000000i[ ] APIC support: xapic
00000000000i[ ] FPU support: yes
00000000000i[ ] MMX support: yes
00000000000i[ ] 3dnow! support: no
00000000000i[ ] SEP support: yes
00000000000i[ ] SSE support: sse2
00000000000i[ ] XSAVE support: no
00000000000i[ ] AES support: no
00000000000i[ ] MOVBE support: no
00000000000i[ ] ADX support: no
00000000000i[ ] x86-64 support: yes
00000000000i[ ] 1G paging support: no
00000000000i[ ] MWAIT support: yes
00000000000i[ ] AVX support: no
00000000000i[ ] VMX support: 1
00000000000i[ ] Optimization configuration
00000000000i[ ] RepeatSpeedups support: yes
00000000000i[ ] Fast function calls: yes
00000000000i[ ] Handlers Chaining speedups: no
00000000000i[ ] Devices configuration
00000000000i[ ] NE2000 support: yes
00000000000i[ ] PCI support: yes, enabled=yes
00000000000i[ ] SB16 support: yes
00000000000i[ ] USB support: yes
00000000000i[ ] VGA extension support: vbe cirrus
00000000000i[MEM0 ] allocated memory at 0x7fcf6e615010. after alignment, vector=0x7fcf6e616000
00000000000i[MEM0 ] 32.00MB
00000000000i[MEM0 ] mem block size = 0x00100000, blocks=32
00000000000i[MEM0 ] rom at 0xfffe0000/131072 ('/usr/share/bochs/BIOS-bochs-latest')
00000000000i[VTIME] using 'realtime pit' synchronization method
00000000000i[ ] lt_dlhandle is 0x2e31230
00000000000i[PLGIN] loaded plugin libbx_hdimage.so
00000000000i[ ] lt_dlhandle is 0x2e31ae0
00000000000i[PLGIN] loaded plugin libbx_pci.so
00000000000i[ ] lt_dlhandle is 0x2e32660
00000000000i[PLGIN] loaded plugin libbx_pci2isa.so
00000000000i[ ] lt_dlhandle is 0x2e33060
00000000000i[PLGIN] loaded plugin libbx_acpi.so
00000000000i[ ] lt_dlhandle is 0x2e33a60
00000000000i[PLGIN] loaded plugin libbx_cmos.so
00000000000i[ ] lt_dlhandle is 0x2e34390
00000000000i[PLGIN] loaded plugin libbx_dma.so
00000000000i[ ] lt_dlhandle is 0x2e34e20
00000000000i[PLGIN] loaded plugin libbx_pic.so
00000000000i[ ] lt_dlhandle is 0x2e356b0
00000000000i[PLGIN] loaded plugin libbx_pit.so
00000000000i[ ] lt_dlhandle is 0x2e360e0
00000000000i[PLGIN] loaded plugin libbx_floppy.so
00000000000i[ ] lt_dlhandle is 0x2e36cc0
00000000000i[PLGIN] loaded plugin libbx_vga.so
00000000000i[ ] lt_dlhandle is 0x2e37530
00000000000i[PLGIN] loaded plugin libbx_ioapic.so
00000000000i[ ] lt_dlhandle is 0x2e37d70
00000000000i[PLGIN] loaded plugin libbx_keyboard.so
00000000000i[ ] lt_dlhandle is 0x2e387e0
00000000000i[PLGIN] loaded plugin libbx_harddrv.so
00000000000i[ ] lt_dlhandle is 0x2e4a8f0
00000000000i[PLGIN] loaded plugin libbx_pci_ide.so
00000000000i[PLGIN] init_dev of 'pci' plugin device by virtual method
00000000000i[PCI ] 440FX Host bridge present at device 0, function 0
00000000000i[PLGIN] init_dev of 'pci2isa' plugin device by virtual method
00000000000i[PCI ] PIIX3 PCI-to-ISA bridge present at device 1, function 0
00000000000i[PLGIN] init_dev of 'cmos' plugin device by virtual method
00000000000i[CMOS ] Using local time for initial clock
00000000000i[CMOS ] Setting initial clock to: Thu Nov 29 19:46:53 2018 (time0=1543549613)
00000000000i[PLGIN] init_dev of 'dma' plugin device by virtual method
00000000000i[DMA ] channel 4 used by cascade
00000000000i[PLGIN] init_dev of 'pic' plugin device by virtual method
00000000000i[PLGIN] init_dev of 'pit' plugin device by virtual method
00000000000i[PLGIN] init_dev of 'floppy' plugin device by virtual method
00000000000i[DMA ] channel 2 used by Floppy Drive
00000000000i[PLGIN] init_dev of 'vga' plugin device by virtual method
00000000000i[MEM0 ] Register memory access handlers: 0x00000000000a0000 - 0x00000000000bffff
00000000000i[VGA ] interval=200000
00000000000i[MEM0 ] Register memory access handlers: 0x00000000e0000000 - 0x00000000e0ffffff
00000000000i[BXVGA] VBE Bochs Display Extension Enabled
00000000000i[MEM0 ] rom at 0xc0000/41472 ('/usr/share/bochs/VGABIOS-lgpl-latest')
00000000000i[PLGIN] init_dev of 'acpi' plugin device by virtual method
00000000000i[PCI ] ACPI Controller present at device 1, function 3
00000000000i[PLGIN] init_dev of 'ioapic' plugin device by virtual method
00000000000i[IOAP ] initializing I/O APIC
00000000000i[MEM0 ] Register memory access handlers: 0x00000000fec00000 - 0x00000000fec00fff
00000000000i[PLGIN] init_dev of 'keyboard' plugin device by virtual method
00000000000i[KBD ] will paste characters every 1000 keyboard ticks
00000000000i[PLGIN] init_dev of 'harddrv' plugin device by virtual method
00000000000i[HD ] CD on ata0-0: 'os.iso'
00000000000i[CD1 ] load cdrom with path=os.iso
00000000000e[CD1 ] open cd failed for os.iso: No such file or directory
00000000000i[HD ] Could not locate CD-ROM, continuing with media not present
00000000000i[HD ] Using boot sequence cdrom, none, none
00000000000i[HD ] Floppy boot signature check is enabled
00000000000i[PLGIN] init_dev of 'pci_ide' plugin device by virtual method
00000000000i[PCI ] PIIX3 PCI IDE controller present at device 1, function 1
00000000000i[PLGIN] init_dev of 'unmapped' plugin device by virtual method
00000000000i[PLGIN] init_dev of 'biosdev' plugin device by virtual method
00000000000i[PLGIN] init_dev of 'speaker' plugin device by virtual method
00000000000i[PLGIN] init_dev of 'extfpuirq' plugin device by virtual method
00000000000i[PLGIN] init_dev of 'parallel' plugin device by virtual method
00000000000i[PAR ] parallel port 1 at 0x0378 irq 7
00000000000i[PLGIN] init_dev of 'serial' plugin device by virtual method
00000000000i[SER ] com1 at 0x03f8 irq 4
00000000000i[PLGIN] init_dev of 'gameport' plugin device by virtual method
00000000000i[PLGIN] init_dev of 'iodebug' plugin device by virtual method
00000000000i[PLGIN] register state of 'pci' plugin device by virtual method
00000000000i[PLGIN] register state of 'pci2isa' plugin device by virtual method
00000000000i[PLGIN] register state of 'cmos' plugin device by virtual method
00000000000i[PLGIN] register state of 'dma' plugin device by virtual method
00000000000i[PLGIN] register state of 'pic' plugin device by virtual method
00000000000i[PLGIN] register state of 'pit' plugin device by virtual method
00000000000i[PLGIN] register state of 'floppy' plugin device by virtual method
00000000000i[PLGIN] register state of 'vga' plugin device by virtual method
00000000000i[PLGIN] register state of 'unmapped' plugin device by virtual method
00000000000i[PLGIN] register state of 'biosdev' plugin device by virtual method
00000000000i[PLGIN] register state of 'speaker' plugin device by virtual method
00000000000i[PLGIN] register state of 'extfpuirq' plugin device by virtual method
00000000000i[PLGIN] register state of 'parallel' plugin device by virtual method
00000000000i[PLGIN] register state of 'serial' plugin device by virtual method
00000000000i[PLGIN] register state of 'gameport' plugin device by virtual method
00000000000i[PLGIN] register state of 'iodebug' plugin device by virtual method
00000000000i[PLGIN] register state of 'acpi' plugin device by virtual method
00000000000i[PLGIN] register state of 'ioapic' plugin device by virtual method
00000000000i[PLGIN] register state of 'keyboard' plugin device by virtual method
00000000000i[PLGIN] register state of 'harddrv' plugin device by virtual method
00000000000i[PLGIN] register state of 'pci_ide' plugin device by virtual method
00000000000i[SYS ] bx_pc_system_c::Reset(HARDWARE) called
00000000000i[CPU0 ] cpu hardware reset
00000000000i[APIC0] allocate APIC id=0 (MMIO enabled) to 0x00000000fee00000
00000000000i[CPU0 ] CPUID[0x00000000]: 00000002 756e6547 6c65746e 49656e69
00000000000i[CPU0 ] CPUID[0x00000001]: 00000633 00010800 00002028 1fcbfbff
00000000000i[CPU0 ] CPUID[0x00000002]: 00410601 00000000 00000000 00000000
00000000000i[CPU0 ] CPUID[0x80000000]: 80000008 00000000 00000000 00000000
00000000000i[CPU0 ] CPUID[0x80000001]: 00000000 00000000 00000101 2a100000
00000000000i[CPU0 ] CPUID[0x80000002]: 20202020 20202020 20202020 6e492020
00000000000i[CPU0 ] CPUID[0x80000003]: 286c6574 50202952 69746e65 52286d75
00000000000i[CPU0 ] CPUID[0x80000004]: 20342029 20555043 20202020 00202020
00000000000i[CPU0 ] CPUID[0x80000005]: 01ff01ff 01ff01ff 40020140 40020140
00000000000i[CPU0 ] CPUID[0x80000006]: 00000000 42004200 02008140 00000000
00000000000i[CPU0 ] CPUID[0x80000007]: 00000000 00000000 00000000 00000000
00000000000i[CPU0 ] CPUID[0x80000008]: 00003028 00000000 00000000 00000000
00000000000i[PLGIN] reset of 'pci' plugin device by virtual method
00000000000i[PLGIN] reset of 'pci2isa' plugin device by virtual method
00000000000i[PLGIN] reset of 'cmos' plugin device by virtual method
00000000000i[PLGIN] reset of 'dma' plugin device by virtual method
00000000000i[PLGIN] reset of 'pic' plugin device by virtual method
00000000000i[PLGIN] reset of 'pit' plugin device by virtual method
00000000000i[PLGIN] reset of 'floppy' plugin device by virtual method
00000000000i[PLGIN] reset of 'vga' plugin device by virtual method
00000000000i[PLGIN] reset of 'acpi' plugin device by virtual method
00000000000i[PLGIN] reset of 'ioapic' plugin device by virtual method
00000000000i[PLGIN] reset of 'keyboard' plugin device by virtual method
00000000000i[PLGIN] reset of 'harddrv' plugin device by virtual method
00000000000i[PLGIN] reset of 'pci_ide' plugin device by virtual method
00000000000i[PLGIN] reset of 'unmapped' plugin device by virtual method
00000000000i[PLGIN] reset of 'biosdev' plugin device by virtual method
00000000000i[PLGIN] reset of 'speaker' plugin device by virtual method
00000000000e[SPEAK] Failed to open /dev/console: Permission denied
00000000000e[SPEAK] Deactivating beep on console
00000000000i[PLGIN] reset of 'extfpuirq' plugin device by virtual method
00000000000i[PLGIN] reset of 'parallel' plugin device by virtual method
00000000000i[PLGIN] reset of 'serial' plugin device by virtual method
00000000000i[PLGIN] reset of 'gameport' plugin device by virtual method
00000000000i[PLGIN] reset of 'iodebug' plugin device by virtual method
00000000000i[ ] set SIGINT handler to bx_debug_ctrlc_handler
00000000025i[MEM0 ] allocate_block: block=0x0 used 0x1 of 0x20
00000004661i[BIOS ] $Revision: 11318 $ $Date: 2012-08-06 19:59:54 +0200 (Mo, 06. Aug 2012) $
00000318321i[KBD ] reset-disable command received
00000319563i[BIOS ] Starting rombios32
00000320005i[BIOS ] Shutdown flag 0
00000320602i[BIOS ] ram_size=0x02000000
00000321030i[BIOS ] ram_end=32MB
00000333047i[BIOS ] Found 1 cpu(s)
00000347228i[BIOS ] bios_table_addr: 0x000fa438 end=0x000fcc00
00000675023i[PCI ] 440FX PMC write to PAM register 59 (TLB Flush)
00001002955i[P2I ] PCI IRQ routing: PIRQA# set to 0x0b
00001002979i[P2I ] PCI IRQ routing: PIRQB# set to 0x09
00001003003i[P2I ] PCI IRQ routing: PIRQC# set to 0x0b
00001003027i[P2I ] PCI IRQ routing: PIRQD# set to 0x09
00001003037i[P2I ] write: ELCR2 = 0x0a
00001003816i[BIOS ] PIIX3/PIIX4 init: elcr=00 0a
00001011496i[BIOS ] PCI: bus=0 devfn=0x00: vendor_id=0x8086 device_id=0x1237 class=0x0600
00001013775i[BIOS ] PCI: bus=0 devfn=0x08: vendor_id=0x8086 device_id=0x7000 class=0x0601
00001015893i[BIOS ] PCI: bus=0 devfn=0x09: vendor_id=0x8086 device_id=0x7010 class=0x0101
00001016122i[PIDE ] new BM-DMA address: 0xc000
00001016742i[BIOS ] region 4: 0x0000c000
00001018776i[BIOS ] PCI: bus=0 devfn=0x0b: vendor_id=0x8086 device_id=0x7113 class=0x0680
00001019006i[ACPI ] new irq line = 11
00001019020i[ACPI ] new irq line = 9
00001019047i[ACPI ] new PM base address: 0xb000
00001019061i[ACPI ] new SM base address: 0xb100
00001019089i[PCI ] setting SMRAM control register to 0x4a
00001183183i[CPU0 ] Enter to System Management Mode
00001183183i[CPU0 ] enter_system_management_mode: temporary disable VMX while in SMM mode
00001183193i[CPU0 ] RSM: Resuming from System Management Mode
00001347214i[PCI ] setting SMRAM control register to 0x0a
00001362116i[BIOS ] MP table addr=0x000fa510 MPC table addr=0x000fa440 size=0xc8
00001363931i[BIOS ] SMBIOS table addr=0x000fa520
00001363982i[MEM0 ] allocate_block: block=0x1f used 0x2 of 0x20
00001366910i[BIOS ] Firmware waking vector 0x1ff00cc
00001371769i[BIOS ] ACPI tables: RSDP addr=0x000fa640 ACPI DATA addr=0x01ff0000 size=0x1f22
00001371806i[PCI ] 440FX PMC write to PAM register 59 (TLB Flush)
00001372537i[BIOS ] bios_table_cur_addr: 0x000fa664
00001500155i[VBIOS] VGABios $Id: vgabios.c,v 1.75 2011/10/15 14:07:21 vruppert Exp $
00001500226i[BXVGA] VBE known Display Interface b0c0
00001500258i[BXVGA] VBE known Display Interface b0c5
00001503183i[VBIOS] VBE Bios $Id: vbe.c,v 1.64 2011/07/19 18:25:05 vruppert Exp $
00005715308i[BIOS ] IDE time out
00263771906e[HD ] ata0-0: atapi_cmd_error: key=02 asc=3a
00263774581i[BIOS ] ata_is_ready returned 1
00263775099e[HD ] ata0-0: atapi_cmd_error: key=02 asc=3a
00263798589i[BIOS ] CDROM boot failure code : 0003
00263853597p[BIOS ] >>PANIC<< No bootable device.
00263853597i[CPU0 ] CPU is in real mode (active)
00263853597i[CPU0 ] CS.mode = 16 bit
00263853597i[CPU0 ] SS.mode = 16 bit
00263853597i[CPU0 ] EFER = 0x00000000
00263853597i[CPU0 ] | EAX=0000040a EBX=0000cd04 ECX=00090004 EDX=00000402
00263853597i[CPU0 ] | ESP=0000ffaa EBP=0000ffae ESI=000e0000 EDI=0000f76c
00263853597i[CPU0 ] | IOPL=0 id vip vif ac vm rf nt of df if tf sf ZF af PF cf
00263853597i[CPU0 ] | SEG sltr(index|ti|rpl) base limit G D
00263853597i[CPU0 ] | CS:f000( 0004| 0| 0) 000f0000 0000ffff 0 0
00263853597i[CPU0 ] | DS:f000( 0005| 0| 0) 000f0000 0000ffff 0 0
00263853597i[CPU0 ] | SS:0000( 0005| 0| 0) 00000000 0000ffff 0 0
00263853597i[CPU0 ] | ES:0ffc( 0005| 0| 0) 0000ffc0 0000ffff 0 0
00263853597i[CPU0 ] | FS:0000( 0005| 0| 0) 00000000 0000ffff 0 0
00263853597i[CPU0 ] | GS:0000( 0005| 0| 0) 00000000 0000ffff 0 0
00263853597i[CPU0 ] | EIP=0000054b (0000054a)
00263853597i[CPU0 ] | CR0=0x60000010 CR2=0x00000000
00263853597i[CPU0 ] | CR3=0x00000000 CR4=0x00000000
00263853597i[CMOS ] Last time is 1543549876 (Thu Nov 29 19:51:16 2018)
00263853597i[CTRL ] quit_sim called with exit code 1

241
bochslog.txt Normal file
View File

@ -0,0 +1,241 @@
00000000000i[ ] Bochs x86 Emulator 2.6
00000000000i[ ] Built from SVN snapshot on September 2nd, 2012
00000000000i[ ] System configuration
00000000000i[ ] processors: 1 (cores=1, HT threads=1)
00000000000i[ ] A20 line support: yes
00000000000i[ ] IPS is set to 1000000
00000000000i[ ] CPU configuration
00000000000i[ ] level: 6
00000000000i[ ] SMP support: no
00000000000i[ ] APIC support: xapic
00000000000i[ ] FPU support: yes
00000000000i[ ] MMX support: yes
00000000000i[ ] 3dnow! support: no
00000000000i[ ] SEP support: yes
00000000000i[ ] SSE support: sse2
00000000000i[ ] XSAVE support: no
00000000000i[ ] AES support: no
00000000000i[ ] MOVBE support: no
00000000000i[ ] ADX support: no
00000000000i[ ] x86-64 support: yes
00000000000i[ ] 1G paging support: no
00000000000i[ ] MWAIT support: yes
00000000000i[ ] AVX support: no
00000000000i[ ] VMX support: 1
00000000000i[ ] Optimization configuration
00000000000i[ ] RepeatSpeedups support: yes
00000000000i[ ] Fast function calls: yes
00000000000i[ ] Handlers Chaining speedups: no
00000000000i[ ] Devices configuration
00000000000i[ ] NE2000 support: yes
00000000000i[ ] PCI support: yes, enabled=yes
00000000000i[ ] SB16 support: yes
00000000000i[ ] USB support: yes
00000000000i[ ] VGA extension support: vbe cirrus
00000000000i[MEM0 ] allocated memory at 0x7efcb7f89010. after alignment, vector=0x7efcb7f8a000
00000000000i[MEM0 ] 32.00MB
00000000000i[MEM0 ] mem block size = 0x00100000, blocks=32
00000000000i[MEM0 ] rom at 0xfffe0000/131072 ('/usr/share/bochs/BIOS-bochs-latest')
00000000000i[VTIME] using 'realtime pit' synchronization method
00000000000i[ ] lt_dlhandle is 0x466e230
00000000000i[PLGIN] loaded plugin libbx_hdimage.so
00000000000i[ ] lt_dlhandle is 0x466eae0
00000000000i[PLGIN] loaded plugin libbx_pci.so
00000000000i[ ] lt_dlhandle is 0x466f660
00000000000i[PLGIN] loaded plugin libbx_pci2isa.so
00000000000i[ ] lt_dlhandle is 0x4670060
00000000000i[PLGIN] loaded plugin libbx_acpi.so
00000000000i[ ] lt_dlhandle is 0x4670a60
00000000000i[PLGIN] loaded plugin libbx_cmos.so
00000000000i[ ] lt_dlhandle is 0x4671390
00000000000i[PLGIN] loaded plugin libbx_dma.so
00000000000i[ ] lt_dlhandle is 0x4671e20
00000000000i[PLGIN] loaded plugin libbx_pic.so
00000000000i[ ] lt_dlhandle is 0x46726b0
00000000000i[PLGIN] loaded plugin libbx_pit.so
00000000000i[ ] lt_dlhandle is 0x46730e0
00000000000i[PLGIN] loaded plugin libbx_floppy.so
00000000000i[ ] lt_dlhandle is 0x4673cc0
00000000000i[PLGIN] loaded plugin libbx_vga.so
00000000000i[ ] lt_dlhandle is 0x4674530
00000000000i[PLGIN] loaded plugin libbx_ioapic.so
00000000000i[ ] lt_dlhandle is 0x4674d70
00000000000i[PLGIN] loaded plugin libbx_keyboard.so
00000000000i[ ] lt_dlhandle is 0x46757e0
00000000000i[PLGIN] loaded plugin libbx_harddrv.so
00000000000i[ ] lt_dlhandle is 0x46878f0
00000000000i[PLGIN] loaded plugin libbx_pci_ide.so
00000000000i[PLGIN] init_dev of 'pci' plugin device by virtual method
00000000000i[PCI ] 440FX Host bridge present at device 0, function 0
00000000000i[PLGIN] init_dev of 'pci2isa' plugin device by virtual method
00000000000i[PCI ] PIIX3 PCI-to-ISA bridge present at device 1, function 0
00000000000i[PLGIN] init_dev of 'cmos' plugin device by virtual method
00000000000i[CMOS ] Using local time for initial clock
00000000000i[CMOS ] Setting initial clock to: Thu Nov 29 19:49:46 2018 (time0=1543549786)
00000000000i[PLGIN] init_dev of 'dma' plugin device by virtual method
00000000000i[DMA ] channel 4 used by cascade
00000000000i[PLGIN] init_dev of 'pic' plugin device by virtual method
00000000000i[PLGIN] init_dev of 'pit' plugin device by virtual method
00000000000i[PLGIN] init_dev of 'floppy' plugin device by virtual method
00000000000i[DMA ] channel 2 used by Floppy Drive
00000000000i[PLGIN] init_dev of 'vga' plugin device by virtual method
00000000000i[MEM0 ] Register memory access handlers: 0x00000000000a0000 - 0x00000000000bffff
00000000000i[VGA ] interval=200000
00000000000i[MEM0 ] Register memory access handlers: 0x00000000e0000000 - 0x00000000e0ffffff
00000000000i[BXVGA] VBE Bochs Display Extension Enabled
00000000000i[MEM0 ] rom at 0xc0000/41472 ('/usr/share/bochs/VGABIOS-lgpl-latest')
00000000000i[PLGIN] init_dev of 'acpi' plugin device by virtual method
00000000000i[PCI ] ACPI Controller present at device 1, function 3
00000000000i[PLGIN] init_dev of 'ioapic' plugin device by virtual method
00000000000i[IOAP ] initializing I/O APIC
00000000000i[MEM0 ] Register memory access handlers: 0x00000000fec00000 - 0x00000000fec00fff
00000000000i[PLGIN] init_dev of 'keyboard' plugin device by virtual method
00000000000i[KBD ] will paste characters every 1000 keyboard ticks
00000000000i[PLGIN] init_dev of 'harddrv' plugin device by virtual method
00000000000i[HD ] CD on ata0-0: 'os.iso'
00000000000i[CD1 ] load cdrom with path=os.iso
00000000000i[CD1 ] Opening image file as a cd.
00000000000i[HD ] Media present in CD-ROM drive
00000000000i[HD ] Capacity is 235 sectors (0.46 MB)
00000000000i[HD ] Using boot sequence cdrom, none, none
00000000000i[HD ] Floppy boot signature check is enabled
00000000000i[PLGIN] init_dev of 'pci_ide' plugin device by virtual method
00000000000i[PCI ] PIIX3 PCI IDE controller present at device 1, function 1
00000000000i[PLGIN] init_dev of 'unmapped' plugin device by virtual method
00000000000i[PLGIN] init_dev of 'biosdev' plugin device by virtual method
00000000000i[PLGIN] init_dev of 'speaker' plugin device by virtual method
00000000000i[PLGIN] init_dev of 'extfpuirq' plugin device by virtual method
00000000000i[PLGIN] init_dev of 'parallel' plugin device by virtual method
00000000000i[PAR ] parallel port 1 at 0x0378 irq 7
00000000000i[PLGIN] init_dev of 'serial' plugin device by virtual method
00000000000i[SER ] com1 at 0x03f8 irq 4
00000000000i[PLGIN] init_dev of 'gameport' plugin device by virtual method
00000000000i[PLGIN] init_dev of 'iodebug' plugin device by virtual method
00000000000i[PLGIN] register state of 'pci' plugin device by virtual method
00000000000i[PLGIN] register state of 'pci2isa' plugin device by virtual method
00000000000i[PLGIN] register state of 'cmos' plugin device by virtual method
00000000000i[PLGIN] register state of 'dma' plugin device by virtual method
00000000000i[PLGIN] register state of 'pic' plugin device by virtual method
00000000000i[PLGIN] register state of 'pit' plugin device by virtual method
00000000000i[PLGIN] register state of 'floppy' plugin device by virtual method
00000000000i[PLGIN] register state of 'vga' plugin device by virtual method
00000000000i[PLGIN] register state of 'unmapped' plugin device by virtual method
00000000000i[PLGIN] register state of 'biosdev' plugin device by virtual method
00000000000i[PLGIN] register state of 'speaker' plugin device by virtual method
00000000000i[PLGIN] register state of 'extfpuirq' plugin device by virtual method
00000000000i[PLGIN] register state of 'parallel' plugin device by virtual method
00000000000i[PLGIN] register state of 'serial' plugin device by virtual method
00000000000i[PLGIN] register state of 'gameport' plugin device by virtual method
00000000000i[PLGIN] register state of 'iodebug' plugin device by virtual method
00000000000i[PLGIN] register state of 'acpi' plugin device by virtual method
00000000000i[PLGIN] register state of 'ioapic' plugin device by virtual method
00000000000i[PLGIN] register state of 'keyboard' plugin device by virtual method
00000000000i[PLGIN] register state of 'harddrv' plugin device by virtual method
00000000000i[PLGIN] register state of 'pci_ide' plugin device by virtual method
00000000000i[SYS ] bx_pc_system_c::Reset(HARDWARE) called
00000000000i[CPU0 ] cpu hardware reset
00000000000i[APIC0] allocate APIC id=0 (MMIO enabled) to 0x00000000fee00000
00000000000i[CPU0 ] CPUID[0x00000000]: 00000002 756e6547 6c65746e 49656e69
00000000000i[CPU0 ] CPUID[0x00000001]: 00000633 00010800 00002028 1fcbfbff
00000000000i[CPU0 ] CPUID[0x00000002]: 00410601 00000000 00000000 00000000
00000000000i[CPU0 ] CPUID[0x80000000]: 80000008 00000000 00000000 00000000
00000000000i[CPU0 ] CPUID[0x80000001]: 00000000 00000000 00000101 2a100000
00000000000i[CPU0 ] CPUID[0x80000002]: 20202020 20202020 20202020 6e492020
00000000000i[CPU0 ] CPUID[0x80000003]: 286c6574 50202952 69746e65 52286d75
00000000000i[CPU0 ] CPUID[0x80000004]: 20342029 20555043 20202020 00202020
00000000000i[CPU0 ] CPUID[0x80000005]: 01ff01ff 01ff01ff 40020140 40020140
00000000000i[CPU0 ] CPUID[0x80000006]: 00000000 42004200 02008140 00000000
00000000000i[CPU0 ] CPUID[0x80000007]: 00000000 00000000 00000000 00000000
00000000000i[CPU0 ] CPUID[0x80000008]: 00003028 00000000 00000000 00000000
00000000000i[PLGIN] reset of 'pci' plugin device by virtual method
00000000000i[PLGIN] reset of 'pci2isa' plugin device by virtual method
00000000000i[PLGIN] reset of 'cmos' plugin device by virtual method
00000000000i[PLGIN] reset of 'dma' plugin device by virtual method
00000000000i[PLGIN] reset of 'pic' plugin device by virtual method
00000000000i[PLGIN] reset of 'pit' plugin device by virtual method
00000000000i[PLGIN] reset of 'floppy' plugin device by virtual method
00000000000i[PLGIN] reset of 'vga' plugin device by virtual method
00000000000i[PLGIN] reset of 'acpi' plugin device by virtual method
00000000000i[PLGIN] reset of 'ioapic' plugin device by virtual method
00000000000i[PLGIN] reset of 'keyboard' plugin device by virtual method
00000000000i[PLGIN] reset of 'harddrv' plugin device by virtual method
00000000000i[PLGIN] reset of 'pci_ide' plugin device by virtual method
00000000000i[PLGIN] reset of 'unmapped' plugin device by virtual method
00000000000i[PLGIN] reset of 'biosdev' plugin device by virtual method
00000000000i[PLGIN] reset of 'speaker' plugin device by virtual method
00000000000e[SPEAK] Failed to open /dev/console: Permission denied
00000000000e[SPEAK] Deactivating beep on console
00000000000i[PLGIN] reset of 'extfpuirq' plugin device by virtual method
00000000000i[PLGIN] reset of 'parallel' plugin device by virtual method
00000000000i[PLGIN] reset of 'serial' plugin device by virtual method
00000000000i[PLGIN] reset of 'gameport' plugin device by virtual method
00000000000i[PLGIN] reset of 'iodebug' plugin device by virtual method
00000000000i[ ] set SIGINT handler to bx_debug_ctrlc_handler
00000000025i[MEM0 ] allocate_block: block=0x0 used 0x1 of 0x20
00000004661i[BIOS ] $Revision: 11318 $ $Date: 2012-08-06 19:59:54 +0200 (Mo, 06. Aug 2012) $
00000318321i[KBD ] reset-disable command received
00000319563i[BIOS ] Starting rombios32
00000320005i[BIOS ] Shutdown flag 0
00000320602i[BIOS ] ram_size=0x02000000
00000321030i[BIOS ] ram_end=32MB
00000333038i[BIOS ] Found 1 cpu(s)
00000347219i[BIOS ] bios_table_addr: 0x000fa438 end=0x000fcc00
00000675014i[PCI ] 440FX PMC write to PAM register 59 (TLB Flush)
00001002946i[P2I ] PCI IRQ routing: PIRQA# set to 0x0b
00001002970i[P2I ] PCI IRQ routing: PIRQB# set to 0x09
00001002994i[P2I ] PCI IRQ routing: PIRQC# set to 0x0b
00001003018i[P2I ] PCI IRQ routing: PIRQD# set to 0x09
00001003028i[P2I ] write: ELCR2 = 0x0a
00001003807i[BIOS ] PIIX3/PIIX4 init: elcr=00 0a
00001011487i[BIOS ] PCI: bus=0 devfn=0x00: vendor_id=0x8086 device_id=0x1237 class=0x0600
00001013766i[BIOS ] PCI: bus=0 devfn=0x08: vendor_id=0x8086 device_id=0x7000 class=0x0601
00001015884i[BIOS ] PCI: bus=0 devfn=0x09: vendor_id=0x8086 device_id=0x7010 class=0x0101
00001016113i[PIDE ] new BM-DMA address: 0xc000
00001016733i[BIOS ] region 4: 0x0000c000
00001018767i[BIOS ] PCI: bus=0 devfn=0x0b: vendor_id=0x8086 device_id=0x7113 class=0x0680
00001018997i[ACPI ] new irq line = 11
00001019011i[ACPI ] new irq line = 9
00001019038i[ACPI ] new PM base address: 0xb000
00001019052i[ACPI ] new SM base address: 0xb100
00001019080i[PCI ] setting SMRAM control register to 0x4a
00001183174i[CPU0 ] Enter to System Management Mode
00001183174i[CPU0 ] enter_system_management_mode: temporary disable VMX while in SMM mode
00001183184i[CPU0 ] RSM: Resuming from System Management Mode
00001347205i[PCI ] setting SMRAM control register to 0x0a
00001362107i[BIOS ] MP table addr=0x000fa510 MPC table addr=0x000fa440 size=0xc8
00001363922i[BIOS ] SMBIOS table addr=0x000fa520
00001363973i[MEM0 ] allocate_block: block=0x1f used 0x2 of 0x20
00001366901i[BIOS ] Firmware waking vector 0x1ff00cc
00001371760i[BIOS ] ACPI tables: RSDP addr=0x000fa640 ACPI DATA addr=0x01ff0000 size=0x1f22
00001371797i[PCI ] 440FX PMC write to PAM register 59 (TLB Flush)
00001372528i[BIOS ] bios_table_cur_addr: 0x000fa664
00001500146i[VBIOS] VGABios $Id: vgabios.c,v 1.75 2011/10/15 14:07:21 vruppert Exp $
00001500217i[BXVGA] VBE known Display Interface b0c0
00001500249i[BXVGA] VBE known Display Interface b0c5
00001503174i[VBIOS] VBE Bios $Id: vbe.c,v 1.64 2011/07/19 18:25:05 vruppert Exp $
00005715368i[BIOS ] IDE time out
00114208035i[BIOS ] Booting from 07c0:0000
00114308453i[BIOS ] int13_harddisk: function 41, unmapped device for ELDL=80
00114312133i[BIOS ] int13_harddisk: function 08, unmapped device for ELDL=80
00114315798i[BIOS ] *** int 15h function AX=00c0, BX=0000 not yet supported!
00115909810i[MEM0 ] allocate_block: block=0x1 used 0x3 of 0x20
00325473000p[SDL ] >>PANIC<< POWER button turned off.
00325473000i[CPU0 ] CPU is in protected mode (active)
00325473000i[CPU0 ] CS.mode = 32 bit
00325473000i[CPU0 ] SS.mode = 32 bit
00325473000i[CPU0 ] EFER = 0x00000000
00325473000i[CPU0 ] | EAX=1234abcd EBX=0002cd80 ECX=00000001 EDX=00000000
00325473000i[CPU0 ] | ESP=00067ed0 EBP=00067ee0 ESI=0002cef0 EDI=0002cef1
00325473000i[CPU0 ] | IOPL=0 id vip vif ac vm rf nt of df if tf sf ZF af PF cf
00325473000i[CPU0 ] | SEG sltr(index|ti|rpl) base limit G D
00325473000i[CPU0 ] | CS:0008( 0001| 0| 0) 00000000 ffffffff 1 1
00325473000i[CPU0 ] | DS:0010( 0002| 0| 0) 00000000 ffffffff 1 1
00325473000i[CPU0 ] | SS:0010( 0002| 0| 0) 00000000 ffffffff 1 1
00325473000i[CPU0 ] | ES:0010( 0002| 0| 0) 00000000 ffffffff 1 1
00325473000i[CPU0 ] | FS:0010( 0002| 0| 0) 00000000 ffffffff 1 1
00325473000i[CPU0 ] | GS:0010( 0002| 0| 0) 00000000 ffffffff 1 1
00325473000i[CPU0 ] | EIP=00100011 (00100011)
00325473000i[CPU0 ] | CR0=0x60000011 CR2=0x00000000
00325473000i[CPU0 ] | CR3=0x00000000 CR4=0x00000000
00325473000i[CMOS ] Last time is 1543550111 (Thu Nov 29 19:55:11 2018)
00325473000i[CTRL ] quit_sim called with exit code 1

9
bochsrc.conf Normal file
View File

@ -0,0 +1,9 @@
megs: 32
display_library: sdl
romimage: file=/usr/share/bochs/BIOS-bochs-latest
vgaromimage: file=/usr/share/bochs/VGABIOS-lgpl-latest
ata0-master: type=cdrom, path=os.iso, status=inserted
boot: cdrom
log: bochslog.txt
clock: sync=realtime, time0=local
cpu: count=1, ips=1000000

10
iso.sh Normal file
View File

@ -0,0 +1,10 @@
genisoimage -R \
-b boot/grub/stage2_eltorito \
-no-emul-boot \
-boot-load-size 4 \
-A os \
-input-charset utf8 \
-quiet \
-boot-info-table \
-o os.iso \
iso

29
link.ld Normal file
View File

@ -0,0 +1,29 @@
ENTRY(loader) /* entry label */
SECTIONS {
/* code will load at 1 MB because grub takes that space */
/* think of this like the initial offset for _the everthing_ */
. = 0x00100000;
/* align instruction block to 4kb */
.text ALIGN (0x1000) :
{
*(.text)
}
/* align rodata to 4KB off the previous as well */
.rodata ALIGN (0x1000) :
{
*(.rodata*)
}
.data ALIGN (0x1000) :
{
*(.data*)
}
.bss ALIGN (0x1000) :
{
*(COMMON)
*(.bss)
}
}

20
loader.asm Normal file
View File

@ -0,0 +1,20 @@
; since we have no stack we have to create one for the OS
global loader
MAGIC_NUMBER equ 0x1BADB002
FLAGS equ 0x0
CHECKSUM equ -MAGIC_NUMBER
section .text
; align all instructions to 4 byte boundary by the x86 instruction set law
align 4
; dropping our magic and other things into memory
dd MAGIC_NUMBER
dd FLAGS
dd CHECKSUM
loader:
mov eax, 0X1234ABCD
.loop:
jmp .loop

6
readme.md Normal file
View File

@ -0,0 +1,6 @@
# Gucci gang
My attempt to create an operating system to learn more about how things work at a lower level.
I'm not satisfied with, _dude trust me_, with regards to how something(anything) really works.
For that reason I'm partial to _trial by fire_ when learning because, for me at least, failure isn't an option to learning; it's a requirement.

11
setup.sh Normal file
View File

@ -0,0 +1,11 @@
#!/bin/sh
# Setup script to grab any and all dependancies needed to build this on any of my machines
bochs_=$(dpkg --list | grep bochs)
if [ "$bochs_" == "" ]
then
# install bochs shiz
sudo apt-get update
sudo apt-get install bochs bochs-sdl
else
echo 'Nothing to install'
fi