polard8/kernel

Gramado 64bit

frednora opened this issue · 6 comments

Im rebuilding Gramado operating system for the 64bit archtechture.
I'm just copying all the files from the old 32bit version of Gramado,
creating or changing some files .
This is gonna be easier to port the ring3 stuff. I guess.
This is a work in progress ;)

[Update] Done. Now the whole system is running very well in 64bit. :)

Hi Fred,

is it possible to run Gramado 64bit version?

I tried, but after type boothome (or boot) in Gramado Boot Maneger I got a lot of messagens like:
THREAD 1
sc0:
write: Calling sc82
sci2: [TODO]
sci2: [19] write
sys_write: [TODO]

Hi Fred,

is it possible to run Gramado 64bit version?

I tried, but after type boothome (or boot) in Gramado Boot Maneger I got a lot of messagens like:
THREAD 1
sc0:
write: Calling sc82
sci2: [TODO]
sci2: [19] write
sys_write: [TODO]

Hi amgodoi :)

Yes, it is possible to run Gramado 64bit version, which is not yet complete.
The messages are just informing about the execution of the threads, it's normal.

Hi,

tanks for your reply.

I am not able to boot yet. After type boothome I get a lot of chars like 1111111122222222111111111222222 (see image) and the shell never appears.

I added some printfs to the code and see that the problem could be in spawn_enter_usermode function.

At this point the code appears to be in loop:
asm volatile ( " movq $0, %%rax \n" " mov %%ax, %%ds \n" " mov %%ax, %%es \n" " mov %%ax, %%fs \n" " mov %%ax, %%gs \n" " movq %0, %%rax \n" " movq %1, %%rsp \n" " movq $0, %%rbp \n" " pushq $0x23 \n" " pushq %%rsp \n" " pushq $0x3202 \n" // Interrupts enabled for the thread that is not the first. " pushq $0x1B \n" " pushq %%rax \n" " iretq \n" :: "D"(entry), "S"(rsp3) );
I am not good at assembly, but could it be some kind of bug?

image

It's not a bug, it's that there are still things that need to be ported to run the shell again (the shell still 32bits)

And these chars are just for testing threads in usermode

zBl4ckUser was right .... it was not a bug ... at this time i was working to port the kernel to 64bit. The new kernel was able to do just some few things at this time ... but now i have my kernel running very well in 64bit.

gramado-64bit

Now the whole system is running very well in 64bit.