diff --git a/Asuro.iso b/Asuro.iso index 42165d87..863a1e37 100644 Binary files a/Asuro.iso and b/Asuro.iso differ diff --git a/lib/E1000.ppu b/lib/E1000.ppu index 8623dd66..65b7215e 100644 Binary files a/lib/E1000.ppu and b/lib/E1000.ppu differ diff --git a/lib/IDE.ppu b/lib/IDE.ppu index 09bc19e2..504de568 100644 Binary files a/lib/IDE.ppu and b/lib/IDE.ppu differ diff --git a/lib/PCI.ppu b/lib/PCI.ppu index 8c67ae6d..cc8753a5 100644 Binary files a/lib/PCI.ppu and b/lib/PCI.ppu differ diff --git a/lib/USB.ppu b/lib/USB.ppu index 6846fd84..6f328c37 100644 Binary files a/lib/USB.ppu and b/lib/USB.ppu differ diff --git a/lib/bios_data_area.ppu b/lib/bios_data_area.ppu index f1b16a90..5f2bf2e6 100644 Binary files a/lib/bios_data_area.ppu and b/lib/bios_data_area.ppu differ diff --git a/lib/console.ppu b/lib/console.ppu index 5f3b0d16..40c4affe 100644 Binary files a/lib/console.ppu and b/lib/console.ppu differ diff --git a/lib/drivermanagement.ppu b/lib/drivermanagement.ppu index 0b397230..fff18cb0 100644 Binary files a/lib/drivermanagement.ppu and b/lib/drivermanagement.ppu differ diff --git a/lib/drivertypes.ppu b/lib/drivertypes.ppu index 76ae0924..98d978f4 100644 Binary files a/lib/drivertypes.ppu and b/lib/drivertypes.ppu differ diff --git a/lib/eth2.ppu b/lib/eth2.ppu index c53bce5f..d185ce04 100644 Binary files a/lib/eth2.ppu and b/lib/eth2.ppu differ diff --git a/lib/gdt.ppu b/lib/gdt.ppu index 1938a64e..2e83c5d1 100644 Binary files a/lib/gdt.ppu and b/lib/gdt.ppu differ diff --git a/lib/idt.ppu b/lib/idt.ppu index 9666e729..c2dc669e 100644 Binary files a/lib/idt.ppu and b/lib/idt.ppu differ diff --git a/lib/ipv4.ppu b/lib/ipv4.ppu index 8d9e6080..b49c29e5 100644 Binary files a/lib/ipv4.ppu and b/lib/ipv4.ppu differ diff --git a/lib/irq.ppu b/lib/irq.ppu index 8b0b85be..e478f874 100644 Binary files a/lib/irq.ppu and b/lib/irq.ppu differ diff --git a/lib/isr.ppu b/lib/isr.ppu index cfa42735..750be8aa 100644 Binary files a/lib/isr.ppu and b/lib/isr.ppu differ diff --git a/lib/isr0.ppu b/lib/isr0.ppu index 66587313..0039a757 100644 Binary files a/lib/isr0.ppu and b/lib/isr0.ppu differ diff --git a/lib/isr1.ppu b/lib/isr1.ppu index 2ece7b69..0f18d8c7 100644 Binary files a/lib/isr1.ppu and b/lib/isr1.ppu differ diff --git a/lib/isr10.ppu b/lib/isr10.ppu index 6eb56a9a..98186b9c 100644 Binary files a/lib/isr10.ppu and b/lib/isr10.ppu differ diff --git a/lib/isr11.ppu b/lib/isr11.ppu index 0bf3779e..45a44b13 100644 Binary files a/lib/isr11.ppu and b/lib/isr11.ppu differ diff --git a/lib/isr12.ppu b/lib/isr12.ppu index a6126d4f..e61db6b3 100644 Binary files a/lib/isr12.ppu and b/lib/isr12.ppu differ diff --git a/lib/isr13.ppu b/lib/isr13.ppu index 4e4cd780..30d493b3 100644 Binary files a/lib/isr13.ppu and b/lib/isr13.ppu differ diff --git a/lib/isr14.ppu b/lib/isr14.ppu index e49f35dc..8c23d024 100644 Binary files a/lib/isr14.ppu and b/lib/isr14.ppu differ diff --git a/lib/isr15.ppu b/lib/isr15.ppu index fec248c0..626622cf 100644 Binary files a/lib/isr15.ppu and b/lib/isr15.ppu differ diff --git a/lib/isr16.ppu b/lib/isr16.ppu index 8c4a81f2..5303d9d6 100644 Binary files a/lib/isr16.ppu and b/lib/isr16.ppu differ diff --git a/lib/isr17.ppu b/lib/isr17.ppu index 88378899..75165796 100644 Binary files a/lib/isr17.ppu and b/lib/isr17.ppu differ diff --git a/lib/isr18.ppu b/lib/isr18.ppu index 2f3ec4b4..25d5f625 100644 Binary files a/lib/isr18.ppu and b/lib/isr18.ppu differ diff --git a/lib/isr2.ppu b/lib/isr2.ppu index 2516e722..0d13de79 100644 Binary files a/lib/isr2.ppu and b/lib/isr2.ppu differ diff --git a/lib/isr3.ppu b/lib/isr3.ppu index 5b009710..3a555271 100644 Binary files a/lib/isr3.ppu and b/lib/isr3.ppu differ diff --git a/lib/isr32.ppu b/lib/isr32.ppu index 54d04218..d1f7d324 100644 Binary files a/lib/isr32.ppu and b/lib/isr32.ppu differ diff --git a/lib/isr33.ppu b/lib/isr33.ppu index 4a6875d3..520b15dc 100644 Binary files a/lib/isr33.ppu and b/lib/isr33.ppu differ diff --git a/lib/isr4.ppu b/lib/isr4.ppu index 1cbdd7b7..55f52ace 100644 Binary files a/lib/isr4.ppu and b/lib/isr4.ppu differ diff --git a/lib/isr40.ppu b/lib/isr40.ppu index 178a8fcf..fb1ebf22 100644 Binary files a/lib/isr40.ppu and b/lib/isr40.ppu differ diff --git a/lib/isr44.ppu b/lib/isr44.ppu index 6f783739..9d8f3d6d 100644 Binary files a/lib/isr44.ppu and b/lib/isr44.ppu differ diff --git a/lib/isr5.ppu b/lib/isr5.ppu index 60784dac..d2eddb27 100644 Binary files a/lib/isr5.ppu and b/lib/isr5.ppu differ diff --git a/lib/isr6.ppu b/lib/isr6.ppu index 4756ba10..03391fe2 100644 Binary files a/lib/isr6.ppu and b/lib/isr6.ppu differ diff --git a/lib/isr7.ppu b/lib/isr7.ppu index 740bf6e2..ec8f03c6 100644 Binary files a/lib/isr7.ppu and b/lib/isr7.ppu differ diff --git a/lib/isr76.ppu b/lib/isr76.ppu index 9ed09f1f..ea476b3d 100644 Binary files a/lib/isr76.ppu and b/lib/isr76.ppu differ diff --git a/lib/isr8.ppu b/lib/isr8.ppu index 3a471e85..093baa51 100644 Binary files a/lib/isr8.ppu and b/lib/isr8.ppu differ diff --git a/lib/isr9.ppu b/lib/isr9.ppu index 4231143b..4cb075d0 100644 Binary files a/lib/isr9.ppu and b/lib/isr9.ppu differ diff --git a/lib/isr_types.ppu b/lib/isr_types.ppu index 56c2e6ac..e1a62fd7 100644 Binary files a/lib/isr_types.ppu and b/lib/isr_types.ppu differ diff --git a/lib/kernel.ppu b/lib/kernel.ppu index ec9af174..d53ba232 100644 Binary files a/lib/kernel.ppu and b/lib/kernel.ppu differ diff --git a/lib/keyboard.ppu b/lib/keyboard.ppu index 1aff5150..83219f8c 100644 Binary files a/lib/keyboard.ppu and b/lib/keyboard.ppu differ diff --git a/lib/libpconsole.a b/lib/libpconsole.a index 764fad21..1a5465fe 100644 Binary files a/lib/libpconsole.a and b/lib/libpconsole.a differ diff --git a/lib/libpmultiboot.a b/lib/libpmultiboot.a index 2c50d47a..1302e0ae 100644 Binary files a/lib/libpmultiboot.a and b/lib/libpmultiboot.a differ diff --git a/lib/libpsystem.a b/lib/libpsystem.a index 3bd5db30..a92c6869 100644 Binary files a/lib/libpsystem.a and b/lib/libpsystem.a differ diff --git a/lib/lists.ppu b/lib/lists.ppu index eb310004..921ae6a4 100644 Binary files a/lib/lists.ppu and b/lib/lists.ppu differ diff --git a/lib/lmemorymanager.ppu b/lib/lmemorymanager.ppu index ce949e5f..d77b48b6 100644 Binary files a/lib/lmemorymanager.ppu and b/lib/lmemorymanager.ppu differ diff --git a/lib/mouse.ppu b/lib/mouse.ppu index f3093c2e..d31cb0ba 100644 Binary files a/lib/mouse.ppu and b/lib/mouse.ppu differ diff --git a/lib/multiboot.ppu b/lib/multiboot.ppu index f821fe27..bfc05a88 100644 Binary files a/lib/multiboot.ppu and b/lib/multiboot.ppu differ diff --git a/lib/net.ppu b/lib/net.ppu index cbf4b342..f74d9e39 100644 Binary files a/lib/net.ppu and b/lib/net.ppu differ diff --git a/lib/nettypes.ppu b/lib/nettypes.ppu index 145f81d2..9226e6be 100644 Binary files a/lib/nettypes.ppu and b/lib/nettypes.ppu differ diff --git a/lib/netutils.ppu b/lib/netutils.ppu index 8d1d250c..b0e0030e 100644 Binary files a/lib/netutils.ppu and b/lib/netutils.ppu differ diff --git a/lib/pmemorymanager.ppu b/lib/pmemorymanager.ppu index eda4efde..84bcf453 100644 Binary files a/lib/pmemorymanager.ppu and b/lib/pmemorymanager.ppu differ diff --git a/lib/scheduler.ppu b/lib/scheduler.ppu index 0f59a03d..eee03f1c 100644 Binary files a/lib/scheduler.ppu and b/lib/scheduler.ppu differ diff --git a/lib/storagemanagement.ppu b/lib/storagemanagement.ppu index 53e1eeed..f4280cf1 100644 Binary files a/lib/storagemanagement.ppu and b/lib/storagemanagement.ppu differ diff --git a/lib/strings.ppu b/lib/strings.ppu index 68d29a47..f41984a3 100644 Binary files a/lib/strings.ppu and b/lib/strings.ppu differ diff --git a/lib/system.o b/lib/system.o index 85b6aca8..c65f0e1b 100644 Binary files a/lib/system.o and b/lib/system.o differ diff --git a/lib/system.ppu b/lib/system.ppu index c1d15dfd..c73977b2 100644 Binary files a/lib/system.ppu and b/lib/system.ppu differ diff --git a/lib/terminal.ppu b/lib/terminal.ppu index 2948e23a..a3254bff 100644 Binary files a/lib/terminal.ppu and b/lib/terminal.ppu differ diff --git a/lib/testdriver.ppu b/lib/testdriver.ppu index 31681ee0..ded33107 100644 Binary files a/lib/testdriver.ppu and b/lib/testdriver.ppu differ diff --git a/lib/tss.ppu b/lib/tss.ppu index 5f91320d..0755aeb0 100644 Binary files a/lib/tss.ppu and b/lib/tss.ppu differ diff --git a/lib/util.ppu b/lib/util.ppu index 987b0b09..7f1d2144 100644 Binary files a/lib/util.ppu and b/lib/util.ppu differ diff --git a/lib/vmemorymanager.ppu b/lib/vmemorymanager.ppu index c46a71d3..ec364a33 100644 Binary files a/lib/vmemorymanager.ppu and b/lib/vmemorymanager.ppu differ diff --git a/src/include/system.pas b/src/include/system.pas index e21bcec5..fb7c1a93 100644 --- a/src/include/system.pas +++ b/src/include/system.pas @@ -15,6 +15,7 @@ const KERNEL_VIRTUAL_BASE = $C0000000; KERNEL_PAGE_NUMBER = KERNEL_VIRTUAL_BASE SHR 22; BSOD_ENABLE = true; + TRACER_ENABLE = true; type //internal types diff --git a/src/tracer.pas b/src/tracer.pas index 55f89d40..b40ae469 100644 --- a/src/tracer.pas +++ b/src/tracer.pas @@ -22,7 +22,7 @@ var procedure freeze; begin - t_ready:= false; + if TRACER_ENABLE then t_ready:= false; end; procedure push_trace(t_name : pchar); @@ -30,24 +30,28 @@ var mem : void; begin - if t_ready then begin - if not Locked then begin - Locked:= true; - mem:= LL_Insert(TraceStack, 0); - memset(uint32(mem), 0, StringSize(t_name) + 5); - memcpy(uint32(t_name), uint32(mem), StringSize(t_name) + 1); - Locked:= false; + if TRACER_ENABLE then begin + if t_ready then begin + if not Locked then begin + Locked:= true; + mem:= LL_Insert(TraceStack, 0); + memset(uint32(mem), 0, StringSize(t_name) + 5); + memcpy(uint32(t_name), uint32(mem), StringSize(t_name) + 1); + Locked:= false; + end; end; end; end; procedure pop_trace; begin - if t_ready then begin - if not Locked then begin - Locked:= true; - LL_Delete(TraceStack, 0); - Locked:= false; + if TRACER_ENABLE then begin + if t_ready then begin + if not Locked then begin + Locked:= true; + LL_Delete(TraceStack, 0); + Locked:= false; + end; end; end; end; @@ -55,26 +59,34 @@ end; function get_last_trace : pchar; begin get_last_trace:= nil; - if t_ready then begin - get_last_trace:= pchar(LL_Get(TraceStack, 0)); + if TRACER_ENABLE then begin + if t_ready then begin + get_last_trace:= pchar(LL_Get(TraceStack, 0)); + end; end; end; procedure init; begin - TraceStack:= LL_New(255); - t_ready:= true; - push_trace('kmain'); + if TRACER_ENABLE then begin + TraceStack:= LL_New(255); + t_ready:= true; + push_trace('kmain'); + end; end; function get_trace_count : uint32; begin - get_trace_count:= LL_Size(TraceStack); + if TRACER_ENABLE then begin + get_trace_count:= LL_Size(TraceStack); + end; end; function get_trace_N(idx : uint32) : pchar; begin - get_trace_N:= pchar(LL_Get(TraceStack, idx)); + if TRACER_ENABLE then begin + get_trace_N:= pchar(LL_Get(TraceStack, idx)); + end; end; end. \ No newline at end of file