git-svn-id: https://spexeah.com:8443/svn/Asuro@655 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
This commit is contained in:
parent
6ae51ac70d
commit
42d23dd8c9
Asuro.iso
bin
iso/boot
lib
ACE.ppuBPE.ppuBTSSE.ppuCFE.ppuCSOE.ppuDBGE.ppuDBZ.ppuDFE.ppuE1000.ppuGPF.ppuIDE.ppuIDOE.ppuIOPE.ppuMCE.ppuNCE.ppuNMIE.ppuOOBE.ppuPCI.ppuPF.ppuPS2_KEYBOARD_ISR.ppuRTC.ppuSFE.ppuSNPE.ppuTMR_0_ISR.ppuUIE.ppuUSB.ppuarp.ppuasuro.ppuconsole.ppucpu.ppudrivermanagement.ppufat32.ppuidt.ppuipv4.ppuirq.ppuisrmanager.ppukernel.ppukeyboard.ppulibpconsole.alibpmultiboot.alibpsystem.alists.ppulmemorymanager.ppumouse.ppunetutils.ppupmemorymanager.ppuserial.ppustoragemanagement.ppustrings.pputerminal.pputracer.ppuutil.ppuvmemorymanager.ppu
src
BIN
Asuro.iso
BIN
Asuro.iso
Binary file not shown.
BIN
bin/kernel.bin
BIN
bin/kernel.bin
Binary file not shown.
Binary file not shown.
BIN
lib/ACE.ppu
BIN
lib/ACE.ppu
Binary file not shown.
BIN
lib/BPE.ppu
BIN
lib/BPE.ppu
Binary file not shown.
BIN
lib/BTSSE.ppu
BIN
lib/BTSSE.ppu
Binary file not shown.
BIN
lib/CFE.ppu
BIN
lib/CFE.ppu
Binary file not shown.
BIN
lib/CSOE.ppu
BIN
lib/CSOE.ppu
Binary file not shown.
BIN
lib/DBGE.ppu
BIN
lib/DBGE.ppu
Binary file not shown.
BIN
lib/DBZ.ppu
BIN
lib/DBZ.ppu
Binary file not shown.
BIN
lib/DFE.ppu
BIN
lib/DFE.ppu
Binary file not shown.
BIN
lib/E1000.ppu
BIN
lib/E1000.ppu
Binary file not shown.
BIN
lib/GPF.ppu
BIN
lib/GPF.ppu
Binary file not shown.
BIN
lib/IDE.ppu
BIN
lib/IDE.ppu
Binary file not shown.
BIN
lib/IDOE.ppu
BIN
lib/IDOE.ppu
Binary file not shown.
BIN
lib/IOPE.ppu
BIN
lib/IOPE.ppu
Binary file not shown.
BIN
lib/MCE.ppu
BIN
lib/MCE.ppu
Binary file not shown.
BIN
lib/NCE.ppu
BIN
lib/NCE.ppu
Binary file not shown.
BIN
lib/NMIE.ppu
BIN
lib/NMIE.ppu
Binary file not shown.
BIN
lib/OOBE.ppu
BIN
lib/OOBE.ppu
Binary file not shown.
BIN
lib/PCI.ppu
BIN
lib/PCI.ppu
Binary file not shown.
BIN
lib/PF.ppu
BIN
lib/PF.ppu
Binary file not shown.
Binary file not shown.
BIN
lib/RTC.ppu
BIN
lib/RTC.ppu
Binary file not shown.
BIN
lib/SFE.ppu
BIN
lib/SFE.ppu
Binary file not shown.
BIN
lib/SNPE.ppu
BIN
lib/SNPE.ppu
Binary file not shown.
Binary file not shown.
BIN
lib/UIE.ppu
BIN
lib/UIE.ppu
Binary file not shown.
BIN
lib/USB.ppu
BIN
lib/USB.ppu
Binary file not shown.
BIN
lib/arp.ppu
BIN
lib/arp.ppu
Binary file not shown.
BIN
lib/asuro.ppu
BIN
lib/asuro.ppu
Binary file not shown.
BIN
lib/console.ppu
BIN
lib/console.ppu
Binary file not shown.
BIN
lib/cpu.ppu
BIN
lib/cpu.ppu
Binary file not shown.
Binary file not shown.
BIN
lib/fat32.ppu
BIN
lib/fat32.ppu
Binary file not shown.
BIN
lib/idt.ppu
BIN
lib/idt.ppu
Binary file not shown.
BIN
lib/ipv4.ppu
BIN
lib/ipv4.ppu
Binary file not shown.
BIN
lib/irq.ppu
BIN
lib/irq.ppu
Binary file not shown.
Binary file not shown.
BIN
lib/kernel.ppu
BIN
lib/kernel.ppu
Binary file not shown.
BIN
lib/keyboard.ppu
BIN
lib/keyboard.ppu
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
lib/libpsystem.a
BIN
lib/libpsystem.a
Binary file not shown.
BIN
lib/lists.ppu
BIN
lib/lists.ppu
Binary file not shown.
Binary file not shown.
BIN
lib/mouse.ppu
BIN
lib/mouse.ppu
Binary file not shown.
BIN
lib/netutils.ppu
BIN
lib/netutils.ppu
Binary file not shown.
Binary file not shown.
BIN
lib/serial.ppu
BIN
lib/serial.ppu
Binary file not shown.
Binary file not shown.
BIN
lib/strings.ppu
BIN
lib/strings.ppu
Binary file not shown.
BIN
lib/terminal.ppu
BIN
lib/terminal.ppu
Binary file not shown.
BIN
lib/tracer.ppu
BIN
lib/tracer.ppu
Binary file not shown.
BIN
lib/util.ppu
BIN
lib/util.ppu
Binary file not shown.
Binary file not shown.
18
src/cpu.pas
18
src/cpu.pas
@ -78,6 +78,7 @@ type
|
||||
end;
|
||||
TClockSpeed = record
|
||||
Hz : uint32;
|
||||
KHz : uint32;
|
||||
MHz : uint32;
|
||||
GHz : uint32;
|
||||
end;
|
||||
@ -154,19 +155,24 @@ end;
|
||||
procedure getCPUClockSpeed;
|
||||
var
|
||||
t1, t2 : TDateTime;
|
||||
c1, c2 : uint64;
|
||||
c : uint32;
|
||||
|
||||
|
||||
begin
|
||||
c:= 0;
|
||||
t1:= getDateTime;
|
||||
t2:= getDateTime;
|
||||
while (t1.Seconds = t2.Seconds) do begin
|
||||
inc(c);
|
||||
if CPUID.Capabilities0^.TSC then begin
|
||||
t1:= getDateTime;
|
||||
t2:= getDateTime;
|
||||
c1:= getTSC;
|
||||
while (t1.Seconds = t2.Seconds) do begin
|
||||
t2:= getDateTime;
|
||||
end;
|
||||
c2:= getTSC;
|
||||
c:= c2 - c1;
|
||||
end;
|
||||
CPUID.ClockSpeed.Hz:= c;
|
||||
CPUID.ClockSpeed.MHz:= CPUID.ClockSpeed.Hz div 1000;
|
||||
CPUID.ClockSpeed.KHz:= CPUID.ClockSpeed.Hz div 1000;
|
||||
CPUID.ClockSpeed.MHz:= CPUID.ClockSpeed.KHz div 1000;
|
||||
CPUID.ClockSpeed.GHz:= CPUID.ClockSpeed.MHz div 1000;
|
||||
end;
|
||||
|
||||
|
@ -49,6 +49,7 @@ procedure sleep(seconds : uint32);
|
||||
function get16bitcounter : uint16;
|
||||
function get32bitcounter : uint32;
|
||||
function get64bitcounter : uint64;
|
||||
function getTSC : uint64;
|
||||
|
||||
function BCDToUint8(bcd : uint8) : uint8;
|
||||
|
||||
@ -358,6 +359,23 @@ begin
|
||||
get64bitcounter:= bios_data_area.Counters.c64;
|
||||
end;
|
||||
|
||||
function getTSC : uint64;
|
||||
var
|
||||
hi, lo : uint32;
|
||||
|
||||
begin
|
||||
asm
|
||||
PUSH EAX
|
||||
PUSH EDX
|
||||
RDTSC
|
||||
MOV hi, EDX
|
||||
MOV lo, EAX
|
||||
POP EDX
|
||||
POP EAX
|
||||
end;
|
||||
getTSC:= (hi SHL 32) OR lo;
|
||||
end;
|
||||
|
||||
procedure BSOD(fault : pchar; info : pchar);
|
||||
var
|
||||
trace : pchar;
|
||||
|
Loading…
x
Reference in New Issue
Block a user