From 5dfc713e1011d821de375d0b01df5ce26b785f05 Mon Sep 17 00:00:00 2001 From: Alexander Huddleston Date: Tue, 27 Jun 2017 00:14:39 -0500 Subject: [PATCH] Fixing more conflict issues. --- MP2/MP2_Sources/bochsout.txt | 236 ---------------------------- MP2/MP2_Sources/dev_kernel_grub.img | Bin 1474560 -> 0 bytes MP2/MP2_Sources/kernel.C | 133 ---------------- 3 files changed, 369 deletions(-) delete mode 100644 MP2/MP2_Sources/bochsout.txt delete mode 100755 MP2/MP2_Sources/dev_kernel_grub.img delete mode 100755 MP2/MP2_Sources/kernel.C diff --git a/MP2/MP2_Sources/bochsout.txt b/MP2/MP2_Sources/bochsout.txt deleted file mode 100644 index 2086560..0000000 --- a/MP2/MP2_Sources/bochsout.txt +++ /dev/null @@ -1,236 +0,0 @@ -00000000000i[ ] Bochs x86 Emulator 2.4.6 -00000000000i[ ] Build from CVS snapshot, on February 22, 2011 -00000000000i[ ] Compiled at Nov 11 2011, 09:31:18 -00000000000i[ ] System configuration -00000000000i[ ] processors: 1 (cores=1, HT threads=1) -00000000000i[ ] A20 line support: yes -00000000000i[ ] CPU configuration -00000000000i[ ] level: 6 -00000000000i[ ] SMP support: no -00000000000i[ ] APIC support: yes -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[ ] x86-64 support: yes -00000000000i[ ] 1G paging support: no -00000000000i[ ] VMX support: no -00000000000i[ ] Optimization configuration -00000000000i[ ] RepeatSpeedups support: yes -00000000000i[ ] Trace cache support: yes -00000000000i[ ] Fast function calls: yes -00000000000i[ ] Devices configuration -00000000000i[ ] ACPI support: yes -00000000000i[ ] NE2000 support: yes -00000000000i[ ] PCI support: yes, enabled=yes -00000000000i[ ] SB16 support: yes -00000000000i[ ] USB support: yes -00000000000i[ ] VGA extension support: vbe -00000000000i[MEM0 ] allocated memory at 0x7f3ed8511010. after alignment, vector=0x7f3ed8512000 -00000000000i[MEM0 ] 32.00MB -00000000000i[MEM0 ] mem block size = 0x00100000, blocks=32 -00000000000i[MEM0 ] rom at 0xfffe0000/131072 ('BIOS-bochs-latest') -00000000000i[MEM0 ] rom at 0xc0000/38400 ('VGABIOS-lgpl-latest') -00000000000i[VTIME] using 'realtime pit' synchronization method -00000000000i[ ] lt_dlhandle is 0x3837560 -00000000000i[PLGIN] loaded plugin libbx_cmos.so -00000000000i[ ] lt_dlhandle is 0x3837f80 -00000000000i[PLGIN] loaded plugin libbx_dma.so -00000000000i[ ] lt_dlhandle is 0x38389e0 -00000000000i[PLGIN] loaded plugin libbx_pic.so -00000000000i[ ] lt_dlhandle is 0x3839220 -00000000000i[PLGIN] loaded plugin libbx_pit.so -00000000000i[ ] lt_dlhandle is 0x3839b90 -00000000000i[PLGIN] loaded plugin libbx_vga.so -00000000000i[ ] lt_dlhandle is 0x383a2c0 -00000000000i[PLGIN] loaded plugin libbx_hdimage.so -00000000000i[ ] lt_dlhandle is 0x383ab80 -00000000000i[PLGIN] loaded plugin libbx_floppy.so -00000000000i[ ] lt_dlhandle is 0x383b770 -00000000000i[PLGIN] loaded plugin libbx_soundmod.so -00000000000i[ ] lt_dlhandle is 0x383cdc0 -00000000000i[PLGIN] loaded plugin libbx_pci.so -00000000000i[ ] lt_dlhandle is 0x383d9f0 -00000000000i[PLGIN] loaded plugin libbx_pci2isa.so -00000000000i[ ] lt_dlhandle is 0x383e2d0 -00000000000i[PLGIN] loaded plugin libbx_usb_common.so -00000000000i[ ] lt_dlhandle is 0x383eb30 -00000000000i[PLGIN] loaded plugin libbx_unmapped.so -00000000000i[ ] lt_dlhandle is 0x383f3a0 -00000000000i[PLGIN] loaded plugin libbx_biosdev.so -00000000000i[ ] lt_dlhandle is 0x383fcd0 -00000000000i[PLGIN] loaded plugin libbx_speaker.so -00000000000i[ ] lt_dlhandle is 0x3840500 -00000000000i[PLGIN] loaded plugin libbx_extfpuirq.so -00000000000i[ ] lt_dlhandle is 0x3840d70 -00000000000i[PLGIN] loaded plugin libbx_gameport.so -00000000000i[ ] lt_dlhandle is 0x38416e0 -00000000000i[PLGIN] loaded plugin libbx_pci_ide.so -00000000000i[ ] lt_dlhandle is 0x38420b0 -00000000000i[PLGIN] loaded plugin libbx_acpi.so -00000000000i[ ] lt_dlhandle is 0x38429f0 -00000000000i[PLGIN] loaded plugin libbx_ioapic.so -00000000000i[ ] lt_dlhandle is 0x38433a0 -00000000000i[PLGIN] loaded plugin libbx_keyboard.so -00000000000i[ ] lt_dlhandle is 0x3843ba0 -00000000000i[PLGIN] loaded plugin libbx_harddrv.so -00000000000i[ ] lt_dlhandle is 0x3855c70 -00000000000i[PLGIN] loaded plugin libbx_serial.so -00000000000i[ ] lt_dlhandle is 0x3856ae0 -00000000000i[PLGIN] loaded plugin libbx_parallel.so -00000000000i[CMOS ] Using specified time for initial clock -00000000000i[CMOS ] Setting initial clock to: Fri Dec 31 17:00:00 1999 (time0=946681200) -00000000000i[DMA ] channel 4 used by cascade -00000000000i[DMA ] channel 2 used by Floppy Drive -00000000000i[FDD ] fd0: 'dev_kernel_grub.img' ro=0, h=2,t=80,spt=18 -00000000000i[PCI ] 440FX Host bridge present at device 0, function 0 -00000000000i[PCI ] PIIX3 PCI-to-ISA bridge present at device 1, function 0 -00000000000i[VGA ] interval=50000 -00000000000i[MEM0 ] Register memory access handlers: 0x00000000000a0000 - 0x00000000000bffff -00000000000i[XGUI ] test_alloc_colors: 16 colors available out of 16 colors tried -00000000000i[XGUI ] font 8 wide x 16 high, display depth = 24 -00000000000i[MEM0 ] Register memory access handlers: 0x00000000e0000000 - 0x00000000e0ffffff -00000000000i[VGA ] VBE Bochs Display Extension Enabled -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[SPEAK] Failed to open /dev/console: Resource temporarily unavailable -00000000000i[SPEAK] Deactivating beep on console -00000000000i[PLGIN] init_dev of 'extfpuirq' plugin device by virtual method -00000000000i[PLGIN] init_dev of 'gameport' plugin device by virtual method -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 '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 ] Using boot sequence floppy, none, none -00000000000i[HD ] Floppy boot signature check is enabled -00000000000i[PLGIN] init_dev of 'serial' plugin device by virtual method -00000000000i[SER ] com1 at 0x03f8 irq 4 -00000000000i[PLGIN] init_dev of 'parallel' plugin device by virtual method -00000000000i[PAR ] parallel port 1 at 0x0378 irq 7 -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 'gameport' plugin device by virtual method -00000000000i[PLGIN] register state of 'pci_ide' 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 'serial' plugin device by virtual method -00000000000i[PLGIN] register state of 'parallel' 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]: 00000003 756e6547 6c65746e 49656e69 -00000000000i[CPU0 ] CPUID[0x00000001]: 00000f23 00000800 00002000 07cbfbff -00000000000i[CPU0 ] CPUID[0x00000002]: 00410601 00000000 00000000 00000000 -00000000000i[CPU0 ] CPUID[0x00000003]: 00000000 00000000 00000000 00000000 -00000000000i[CPU0 ] CPUID[0x00000004]: 00000000 00000000 00000000 00000000 -00000000000i[CPU0 ] CPUID[0x00000007]: 00000000 00000000 00000000 00000000 -00000000000i[CPU0 ] CPUID[0x80000000]: 80000008 00000000 00000000 00000000 -00000000000i[CPU0 ] CPUID[0x80000001]: 00000000 00000000 00000001 2a100800 -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[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 '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 -00000000000i[PLGIN] reset of 'extfpuirq' plugin device by virtual method -00000000000i[PLGIN] reset of 'gameport' plugin device by virtual method -00000000000i[PLGIN] reset of 'pci_ide' 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 'serial' plugin device by virtual method -00000000000i[PLGIN] reset of 'parallel' plugin device by virtual method -00000000000i[XGUI ] [x] Mouse off -00000003302i[BIOS ] $Revision: 1.209 $ $Date: 2008/06/02 20:08:10 $ -00000318057i[KBD ] reset-disable command received -00000438667i[VBIOS] VGABios $Id: vgabios.c,v 1.67 2008/01/27 09:44:12 vruppert Exp $ -00000438738i[VGA ] VBE known Display Interface b0c0 -00000438770i[VGA ] VBE known Display Interface b0c4 -00000441695i[VBIOS] VBE Bios $Id: vbe.c,v 1.60 2008/03/02 07:47:21 vruppert Exp $ -00000600000i[XGUI ] charmap update. Font Height is 16 -00000764696i[BIOS ] Starting rombios32 -00000765523i[BIOS ] ram_size=0x02000000 -00000776678i[BIOS ] Found 1 cpu(s) -00000792979i[BIOS ] bios_table_addr: 0x000fb778 end=0x000fcc00 -00000793046i[PCI ] 440FX PMC write to PAM register 59 (TLB Flush) -00001251853i[PCI ] 440FX PMC write to PAM register 59 (TLB Flush) -00001711340i[P2I ] PCI IRQ routing: PIRQA# set to 0x0b -00001711387i[P2I ] PCI IRQ routing: PIRQB# set to 0x09 -00001711434i[P2I ] PCI IRQ routing: PIRQC# set to 0x0b -00001711481i[P2I ] PCI IRQ routing: PIRQD# set to 0x09 -00001711497i[P2I ] write: ELCR2 = 0x0a -00001712434i[BIOS ] PIIX3 init: elcr=00 0a -00001732689i[BIOS ] PCI: bus=0 devfn=0x00: vendor_id=0x8086 device_id=0x1237 -00001735926i[BIOS ] PCI: bus=0 devfn=0x08: vendor_id=0x8086 device_id=0x7000 -00001738659i[BIOS ] PCI: bus=0 devfn=0x09: vendor_id=0x8086 device_id=0x7010 -00001739120i[PIDE ] new BM-DMA address: 0xc000 -00001740003i[BIOS ] region 4: 0x0000c000 -00001742579i[BIOS ] PCI: bus=0 devfn=0x0b: vendor_id=0x8086 device_id=0x7113 -00001743079i[ACPI ] new irq line = 11 -00001743116i[ACPI ] new PM base address: 0xb000 -00001743178i[ACPI ] new SM base address: 0xb100 -00001743646i[CPU0 ] Enter to System Management Mode -00001743656i[CPU0 ] RSM: Resuming from System Management Mode -00001743690i[PCI ] setting SMRAM control register to 0x4a -00001743972i[PCI ] setting SMRAM control register to 0x0a -00001767253i[BIOS ] MP table addr=0x000fb850 MPC table addr=0x000fb780 size=0xd0 -00001769456i[BIOS ] SMBIOS table addr=0x000fb860 -00001772500i[BIOS ] ACPI tables: RSDP addr=0x000fb970 ACPI DATA addr=0x01ff0000 size=0x9d8 -00001792033i[PCI ] 440FX PMC write to PAM register 59 (TLB Flush) -00001793045i[BIOS ] bios_table_cur_addr: 0x000fb994 -00374348939i[BIOS ] Booting from 0000:7c00 -00384200000i[XGUI ] charmap update. Font Height is 16 -00423200000i[XGUI ] charmap update. Font Height is 16 -00430800000i[XGUI ] charmap update. Font Height is 16 -00431000000i[XGUI ] charmap update. Font Height is 16 -00794756000p[XGUI ] >>PANIC<< POWER button turned off. -00794756000i[CPU0 ] CPU is in protected mode (active) -00794756000i[CPU0 ] CS.d_b = 32 bit -00794756000i[CPU0 ] SS.d_b = 32 bit -00794756000i[CPU0 ] EFER = 0x00000000 -00794756000i[CPU0 ] | RAX=0000000000000000 RBX=0000000000026260 -00794756000i[CPU0 ] | RCX=00000000000b8000 RDX=00000000000003d4 -00794756000i[CPU0 ] | RSP=0000000000102f68 RBP=0000000000102f68 -00794756000i[CPU0 ] | RSI=00000000000263d3 RDI=00000000000263df -00794756000i[CPU0 ] | R8=0000000000000000 R9=0000000000000000 -00794756000i[CPU0 ] | R10=0000000000000000 R11=0000000000000000 -00794756000i[CPU0 ] | R12=0000000000000000 R13=0000000000000000 -00794756000i[CPU0 ] | R14=0000000000000000 R15=0000000000000000 -00794756000i[CPU0 ] | IOPL=0 id vip vif ac vm rf nt of df if tf sf ZF af PF cf -00794756000i[CPU0 ] | SEG selector base limit G D -00794756000i[CPU0 ] | SEG sltr(index|ti|rpl) base limit G D -00794756000i[CPU0 ] | CS:0008( 0001| 0| 0) 00000000 ffffffff 1 1 -00794756000i[CPU0 ] | DS:0010( 0002| 0| 0) 00000000 ffffffff 1 1 -00794756000i[CPU0 ] | SS:0010( 0002| 0| 0) 00000000 ffffffff 1 1 -00794756000i[CPU0 ] | ES:0010( 0002| 0| 0) 00000000 ffffffff 1 1 -00794756000i[CPU0 ] | FS:0010( 0002| 0| 0) 00000000 ffffffff 1 1 -00794756000i[CPU0 ] | GS:0010( 0002| 0| 0) 00000000 ffffffff 1 1 -00794756000i[CPU0 ] | MSR_FS_BASE:0000000000000000 -00794756000i[CPU0 ] | MSR_GS_BASE:0000000000000000 -00794756000i[CPU0 ] | RIP=0000000000100033 (0000000000100033) -00794756000i[CPU0 ] | CR0=0x60000011 CR2=0x0000000000000000 -00794756000i[CPU0 ] | CR3=0x00000000 CR4=0x00000000 -00794756000i[CPU0 ] 0x0000000000100033>> jmp .-2 (0x00100033) : EBFE -00794756000i[CMOS ] Last time is 946681398 (Fri Dec 31 17:03:18 1999) -00794756000i[XGUI ] Exit -00794756000i[ ] restoring default signal behavior -00794756000i[CTRL ] quit_sim called with exit code 1 diff --git a/MP2/MP2_Sources/dev_kernel_grub.img b/MP2/MP2_Sources/dev_kernel_grub.img deleted file mode 100755 index e548c4de2d149b0bfc09b3a0213e11cd93c9de83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1474560 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 z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ n009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0Rja6)(iX}=Hh`v diff --git a/MP2/MP2_Sources/kernel.C b/MP2/MP2_Sources/kernel.C deleted file mode 100755 index 6b4e301..0000000 --- a/MP2/MP2_Sources/kernel.C +++ /dev/null @@ -1,133 +0,0 @@ -/* - File: kernel.C - - Author: R. Bettati - Department of Computer Science - Texas A&M University - Date : 02/02/17 - - - This file has the main entry point to the operating system. - -*/ - - -/*--------------------------------------------------------------------------*/ -/* DEFINES */ -/*--------------------------------------------------------------------------*/ - -#define MB * (0x1 << 20) -#define KB * (0x1 << 10) -/* Makes things easy to read */ - -#define KERNEL_POOL_START_FRAME ((2 MB) / (4 KB)) -#define KERNEL_POOL_SIZE ((2 MB) / (4 KB)) -#define PROCESS_POOL_START_FRAME ((4 MB) / (4 KB)) -#define PROCESS_POOL_SIZE ((28 MB) / (4 KB)) -/* Definition of the kernel and process memory pools */ - -#define MEM_HOLE_START_FRAME ((15 MB) / (4 KB)) -#define MEM_HOLE_SIZE ((1 MB) / (4 KB)) -/* We have a 1 MB hole in physical memory starting at address 15 MB */ - -#define TEST_START_ADDR_PROC (4 MB) -#define TEST_START_ADDR_KERNEL (2 MB) -/* Used in the memory test below to generate sequences of memory references. */ -/* One is for a sequence of memory references in the kernel space, and the */ -/* other for memory references in the process space. */ - -#define N_TEST_ALLOCATIONS -/* Number of recursive allocations that we use to test. */ - -/*--------------------------------------------------------------------------*/ -/* INCLUDES */ -/*--------------------------------------------------------------------------*/ - -#include "machine.H" /* LOW-LEVEL STUFF */ -#include "console.H" - -#include "assert.H" -#include "cont_frame_pool.H" /* The physical memory manager */ - -/*--------------------------------------------------------------------------*/ -/* FORWARDS */ -/*--------------------------------------------------------------------------*/ - -void test_memory(ContFramePool * _pool, unsigned int _allocs_to_go); - -/*--------------------------------------------------------------------------*/ -/* MAIN ENTRY INTO THE OS */ -/*--------------------------------------------------------------------------*/ - -int main() { - - Console::init(); - - /* -- INITIALIZE FRAME POOLS -- */ - - /* ---- KERNEL POOL -- */ - - ContFramePool kernel_mem_pool(KERNEL_POOL_START_FRAME, - KERNEL_POOL_SIZE, - 0, - 0); - - - /* ---- PROCESS POOL -- */ - -/* - unsigned long n_info_frames = ContFramePool::needed_info_frames(PROCESS_POOL_SIZE); - - unsigned long process_mem_pool_info_frame = kernel_mem_pool.get_frames(n_info_frames); - - ContFramePool process_mem_pool(PROCESS_POOL_START_FRAME, - PROCESS_POOL_SIZE, - process_mem_pool_info_frame, - n_info_frames); - - process_mem_pool.mark_inaccessible(MEM_HOLE_START_FRAME, MEM_HOLE_SIZE); -*/ - /* -- MOST OF WHAT WE NEED IS SETUP. THE KERNEL CAN START. */ - - Console::puts("Hello World!\n"); - - /* -- TEST MEMORY ALLOCATOR */ - - test_memory(&kernel_mem_pool, 32); - - /* ---- Add code here to test the frame pool implementation. */ - - /* -- NOW LOOP FOREVER */ - Console::puts("Testing is DONE. We will do nothing forever\n"); - Console::puts("Feel free to turn off the machine now.\n"); - - for(;;); - - /* -- WE DO THE FOLLOWING TO KEEP THE COMPILER HAPPY. */ - return 1; -} - -void test_memory(ContFramePool * _pool, unsigned int _allocs_to_go) { - Console::puts("alloc_to_go = "); Console::puti(_allocs_to_go); Console::puts("\n"); - if (_allocs_to_go > 0) { - int n_frames = _allocs_to_go % 4 + 1; - unsigned long frame = _pool->get_frames(n_frames); - int * value_array = (int*)(frame * (4 KB)); - for (int i = 0; i < (1 KB) * n_frames; i++) { - value_array[i] = _allocs_to_go; - } - test_memory(_pool, _allocs_to_go - 1); - for (int i = 0; i < (1 KB) * n_frames; i++) { - if(value_array[i] != _allocs_to_go){ - Console::puts("MEMORY TEST FAILED. ERROR IN FRAME POOL\n"); - Console::puts("i ="); Console::puti(i); - Console::puts(" v = "); Console::puti(value_array[i]); - Console::puts(" n ="); Console::puti(_allocs_to_go); - Console::puts("\n"); - for(;;); - } - } - ContFramePool::release_frames(frame); - } -} -