Pure64 v0.7.0
Re: Pure64 v0.4.8
Thank you for this project.
I have just terminated an os in 32 bits mode and I will be interested to port it on 64 bits.
My os use graphical gui, and use usb key as main drive (accedded via bios) so the main problem will be to set vesa modes and develop usb stack. But your project will help me a lot
I have just terminated an os in 32 bits mode and I will be interested to port it on 64 bits.
My os use graphical gui, and use usb key as main drive (accedded via bios) so the main problem will be to set vesa modes and develop usb stack. But your project will help me a lot
Re: Pure64 v0.4.8
Thank you for update.
It works on real hardware and QEMU, but there is a problem with VMWare.
It works on real hardware and QEMU, but there is a problem with VMWare.
Code: Select all
Pure64 v0.4.8 - http://www.returninfinity.com A28
Initializing system...
Pure64 - Interrupt 13 - General Protection Exception (#GP)
A:00000000000002A4 B:0000000043495034 C:0000000000000000 D:000000000000000A
SI:00000000000095C4 DI:0000000000009748 BP:0000000000000000 SP:0000000000007F38
8:0000000000000000 9:0000000000000000 10:0000000000000000 11:0000000000000000
12:000000000000000 13:0000000000000000 14:0000000000000000 15:0000000000000001
Re: Pure64 v0.4.8
That issue is happening somewhere in the MP initialization.
What version of VMware were you using? I'll try to reproduce the issue.
What version of VMware were you using? I'll try to reproduce the issue.
BareMetal OS - http://www.returninfinity.com/
Mono-tasking 64-bit OS for x86-64 based computers, written entirely in Assembly
Mono-tasking 64-bit OS for x86-64 based computers, written entirely in Assembly
Re: Pure64 v0.4.8
VMWare Workstation 7.1.3 build-324285ReturnInfinity wrote: What version of VMware were you using? I'll try to reproduce the issue.
Re: Pure64 v0.4.8
Additional testing results:
1. On two laptops with Intel Core i5 and i3 cpus: reboot after instruction
mov cr0, eax (Set protected mode bit) omg why?
(pure64 v0.4.5 - fine, but no SMP)
2. Intel Atom N450 (x86-64 supported) netbook: the same problem as on VMWare - interrupt 13 while SMP init.
3. QEMU - fine.
4. AMD Athlon x2 cpu- fine.
I've seen source code, but I don't know how to fix it at the moment.
Thank you. I hope this helps.
1. On two laptops with Intel Core i5 and i3 cpus: reboot after instruction
mov cr0, eax (Set protected mode bit) omg why?
(pure64 v0.4.5 - fine, but no SMP)
2. Intel Atom N450 (x86-64 supported) netbook: the same problem as on VMWare - interrupt 13 while SMP init.
3. QEMU - fine.
4. AMD Athlon x2 cpu- fine.
I've seen source code, but I don't know how to fix it at the moment.
Thank you. I hope this helps.
Re: Pure64 v0.4.8
I see the same error on my end with VMware. It looks like it is causing the GP fault during the parsing of the ACPI tables. I'm looking into it.
BareMetal OS - http://www.returninfinity.com/
Mono-tasking 64-bit OS for x86-64 based computers, written entirely in Assembly
Mono-tasking 64-bit OS for x86-64 based computers, written entirely in Assembly
Re: Pure64 v0.4.8
Issue has been fixed in the latest SVN: http://code.google.com/p/pure64/source/ ... p_acpi.asm
The magic difference between "shr eax, 2" (Divide by 4) and "shr eax, 3" (Divide by 8 ).
It works now under VMware. However when BareMetal OS loads it doesn't accept keystrokes. Looks like the interrupt does not fire.
Please try this on the Core i3/i5 as well as I would like to know if it works now.
-Ian
The magic difference between "shr eax, 2" (Divide by 4) and "shr eax, 3" (Divide by 8 ).
It works now under VMware. However when BareMetal OS loads it doesn't accept keystrokes. Looks like the interrupt does not fire.
Please try this on the Core i3/i5 as well as I would like to know if it works now.
-Ian
BareMetal OS - http://www.returninfinity.com/
Mono-tasking 64-bit OS for x86-64 based computers, written entirely in Assembly
Mono-tasking 64-bit OS for x86-64 based computers, written entirely in Assembly
Re: Pure64 v0.4.8
Ok, thx)ReturnInfinity wrote: It works now under VMware.
The same bug (0.4.9-dev)Please try this on the Core i3/i5 as well as I would like to know if it works now.
Re: Pure64 v0.4.8
What is displayed in the top right of the screen before the i3/i5/i7 crashes?
I'm wondering if the BSP is crashing during the jump to 64-bit mode on those systems.
Thanks,
- Ian Seyler
I'm wondering if the BSP is crashing during the jump to 64-bit mode on those systems.
Thanks,
- Ian Seyler
BareMetal OS - http://www.returninfinity.com/
Mono-tasking 64-bit OS for x86-64 based computers, written entirely in Assembly
Mono-tasking 64-bit OS for x86-64 based computers, written entirely in Assembly
Re: Pure64 v0.4.8
Number 22.ReturnInfinity wrote:What is displayed in the top right of the screen before the i3/i5/i7 crashes?
Re: Pure64 v0.4.8
hmm.. That is right before interrupt table is built. Not sure what would be causing that but we will look into it. Can you meet us on the BareMetal OS IRC channel?
BareMetal OS - http://www.returninfinity.com/
Mono-tasking 64-bit OS for x86-64 based computers, written entirely in Assembly
Mono-tasking 64-bit OS for x86-64 based computers, written entirely in Assembly
Re: Pure64 v0.4.8
I think so.ReturnInfinity wrote:hmm.. That is right before interrupt table is built. Not sure what would be causing that but we will look into it. Can you meet us on the BareMetal OS IRC channel?
Re: Pure64 v0.4.8
Additional i5 testing:
I've finally figured out what's causing reboot on that machine. I've added on the start of "isa_setup" procedure additional instruction "jmp set_A20", so I've skipped part of the code, and it works now.
But, now there is another problem. HD init fails, number in the right top corner of the screen is 26.
I've finally figured out what's causing reboot on that machine. I've added on the start of "isa_setup" procedure additional instruction "jmp set_A20", so I've skipped part of the code, and it works now.
But, now there is another problem. HD init fails, number in the right top corner of the screen is 26.
Code: Select all
; INIT ISA
; =============================================================================
isa_setup:
jmp set_A20 ; <-- here
; Get the BIOS E820 Memory Map
; use the INT 0x15, eax= 0xE820 BIOS function to get a memory map
; inputs: es:di -> destination buffer for 24 byte entries
; outputs: bp = entry count, trashes all registers except esi
do_e820:
Re: Pure64 v0.4.8
Sorry, there is no more problems with pure64. Thats because bios doesn't support HDD USB flash emulation on my laptop.fragus wrote: But, now there is another problem. HD init fails, number in the right top corner of the screen is 26.
There is probably e820 bug in the bios (Phoenix SecureCore Tiano).
Thank you!
Re: Pure64 v0.4.9
Version 0.4.9 is out now.
- Better SMP support
- Ability to set a VESA graphics mode (Set at compile time). Information (Base memory address, screen width and height) is stored in the Info map.
- Code optimizations (The pure64.sys binary is only 6KiB compared to the last version at 10KiB)
- Included a stub "boot sector" for PXE booting.
- Better SMP support
- Ability to set a VESA graphics mode (Set at compile time). Information (Base memory address, screen width and height) is stored in the Info map.
- Code optimizations (The pure64.sys binary is only 6KiB compared to the last version at 10KiB)
- Included a stub "boot sector" for PXE booting.
BareMetal OS - http://www.returninfinity.com/
Mono-tasking 64-bit OS for x86-64 based computers, written entirely in Assembly
Mono-tasking 64-bit OS for x86-64 based computers, written entirely in Assembly