#Nyaux
1 messages ยท Page 32 of 1
flanterm_fb_queue_item is not related to the framebuffer
yea i have no idea
thats not my problem
i just init
and ask flanterm to put a char
thats it
I have the alignment sanitization turned off idk
unfortunate
ubsan doesnt catch everything
just some basic UB
prolly something more complex going on
what exactly is the issue anyway
so on some hardware the page tables fails to load
it just hangs
on some other hardware
it works completely fine ๐ญ
all vms load nyaux fine
well things dont really "just hang"
i even stop loading the idt
it didnt triple fault
OH WAIT
IT DIDNT TRTIPLE FAULT
IT DIDNT TRIPLE FAULT???
framebuffer issue
its a framebuffer issue
fuck me
ubsan catches ub "when it happens" so prolly worth running this on the hardware that dont work
ah yes i have a serial port
to connect to
well
after intentionally trying to reset the system, it does reset?
holding the power button
wait
then it's possible its a framebuffer issue
or it's possible your code is crashing
asking uacpi to reset
i could try
@kind root how to ask uacpi to shutdown
oh hold on
nvm
sorry for the ping
found the wiki
hold on ill change that
oh because i didnt load an idt
okay it resetted on qemu
understandable
resetted?
ah
@molten grotto since ur here
can u see if it shuts down on ur machine?
cause i have something important opened i cant restart

maybe I should plug the laptop back to the ethernet cable, it would make testing easier with pxe just that then my website is going to die lol
๐ญ
I should buy an another cable, not that it matters that much as the website is literally just empty git server + a text file with hello world + a main page with links to those
anyway now I can try it
alr coolss
no it just gets stuck after giving address
so it didnt reset
so its NOT a framebuffer issue
even tho
i removed the idt
tested it on my laptop
didnt triple fault
even tho
i put back the idt and at the end of init
just request to shutdown
WTF
yea something very complex is going on
we may be stuck on this for weeks
inb4
gdbserver from monitor
its in real hw
^
with the git build it does reboot
wait
it does
okay so
framebuffer issue
welp
FUN!!!
why isnt the framebuffer reappearing
wtf
where did you add the triple fault code
huh
i removed the idt to test if its the page tables
it didnt triple fault
theres no triple fault code
what are you using for the reboot then?
does the git code even have some code that intentionally causes a reboot
wait no
it has no idt
ohhh
so it did triple fault
thats the git code
okay
and ubsan
didnt say shit
@molten grotto weve got a complicated issue
fun
in case you're curious, last I checked astral can boot to bash with as low as like 29 mbs of ram if you consider memory used
I checked it once when removing the limine backgrounhd
it boots to fvwm with like 128 mb
nice
Limine uses a lot of memory...
how much
i should really reclaim it
WHEN THIS BUG
GETS FIXED
I CANNOT FIGURE IT OUT
KILL ME CHAT
SEND ME A GLOCK M14 OVER MAIL

it does the same
yep
@flat nymph
ill remove the idt
so it can triple fault
okay?
holy shit i just crashed wsl2
@flat nymph take this iso
does it triple fault yes or no
let me knoqw
Me too
smh x2
Though I installed Linux yesterday
which distro
based
But it led to us discovering why the power button wasn't working with uACPI

why does it take so long to boot
pmm
anyways
did u test on real hardware
no
.insert(0, 1, 's');
Why does your PMM take so long
i insert a node into each page
lol
anyways
im too frustrated to figure anything out
im going to sleep
.erase(anyways.length() - 1);
i hope a miracle will happen and maybe one of you spot something but thats obviously not gonna happen we are gonna be stuck for fucking weeks
goodnight
goodnight ||piss|| role haver
Triple faults after freelist created
nvm we arent sleeping
HUH???
WAIT SERIOUSLY
triple faults after freelist created...
mhm.
okay so this is like advanced UB
dream up some solutions
I think
that ubsan didnt spot
It printed something and triple faulted
Why do you think it's UB
It can be heap corruption or something
it's shrimply an issue of krill
could be litearrly anything
thats fucking impossible to debug
wish i could attach a gdb debugger to real hardware chat
Like something shitting in all the pointers
i took gdb for granted
you can
have you checked your mobo?
internal pins
its a laptop
Put a bunch of while (1) ;'s
See when it freezes and when it crashes
i cant do that
yes you can
(but with asm inside)
because i need to sleep
That's how I was debugging my OS at some point
tripple
Why don't you install a double fault handler at least?
i already have one
it just hangs
doesnt execute anything
when an idt is installed
and it switches page tables
nothing else js hangs
so js try please
private nyauxmaster
you are given a direct order to sleep
go to sleep, programming tired wont do any good
yep its the page tables
for which some hardware doesnt care
some does
like ur one and my laptop
fine
goodnight for real this time
are you sure the physical mem you're using is actually free memory
yep
i ignore everything but usable
if u need further context or have any questions u can look at the code here im sleeping
what
ubsan is saying a bunch of stuff with flanterm for some reason
ur issue
update it
ok lol
this man can chat about osdev while sleeping
its because i have my phone notifying me cause i have my phone under my pillow
still havent slept but eyes are really tired
ima power off my phone
morning
soooo
i guess we will
update flanterm
ask i said i would
as*
hopefully that will clear all ubsan messages
then idk
figure out SOME way to get closer to the actual issue
does anyone here have a computer with a serial port?
and something to read that serial port?
also tbh
its very out of spec for some cpus to outright refuse to load my page tables
and hang
but some do
ill try to make an issue on the forums as well
lets hope mint didnt change the api for the billionth time
๐
okay good
damn no commit in 2 months
ehhhhh
I do
do u have something to read that serial port?
Two computers with serial ports
And a modem cable
One with AMD A10 and one with Ryzen 9 5900X
okay
So relatively new and 10 years old hardware
should i add a .note.GNU.stack or smthin
ill js disable the warning
yes or alternatively just pass -z noexecstack to the linker
yea
that solved it
hold on while i enable ubsan
and remove the flanterm checkj
its still mad?
mint said its my problem
okay
perhaps it is a flanterm bug
no because mints code is never wrong!
maybe its relying on some alignment that is not guaranteed
she did say she did it multiple times with santiziers or smthin
that ^
so
๐คทโโ๏ธ
doesnt guarantee anything
yea i guess
i also run uacpi with both but still have ub uncovered every once in a while
should tell mint this

obos reference?
anyways
how are we gonna figure out our stupid hanging issue
any ideas
guessing not
come on there has to be SOMETHING we can do
gdb pt dump?
maybe?
well i will try
i have no other options lmao
BRO ITS A PYTHON FILE
fucking what
you tried running a file with a .py file extension as a shell script
also its a gdb plugin iirc
IN GDB
btw the flanterm issues are very likely because the flanterm bump alloc doesn't guarantee any kind of alignment from the looks of it
yes
but thats not our issue rn
btw i recently uncovered -Wstrict-prototypes, very good flag u should enable it
you tell us
looks fine
ill walk through each one
huh
oh thats 2mb
also with this?
this looks fine
that as well
and this too
okay
the only weird one
because its the start of the hhdm that maps to physical addr 0?
but why is this also mapped 2mb?
oh its the memory map
yea so
gdb pt dump says the page tables are fine
okay
so wtf
enabling now
yea doing that changed nothing
do u have -Wpedantic?
no ill enable that
That's just for standards, no?
yea it is
maybe
yea i dont see anything much
fun
okay if pt dump said my page tables were fine
i dont have any more ideas
someone give me ideas please
Are you clearing pages when building page tables?
yep
(also, limine had memory randomization)
what does it do?
it errors out if u have non-static definition without a previous declaration, or if u have void do_stuff(<no void here>)
oh cool
-Wall?
that's not a thing
you realize right
moving into cr3 does not cause the page tables to be read
ik
if it works in a virtual machine it means you're not handling memory correctly somewhere
which is what i gathered from two days worth of messages so far
works in qeme under tcg and kvm but doesnt on real hw
make sure you're zeroing out the pages you allocate for page tables before using them
i am tho
and make sure you are constructing the page table entries correctly
ii even randomized the ram and used it as memory on qemu
i am
gdb pt dump says nothing suspicous
looks all good
i dont know what to do
Put while (1) ;'s
I DID
Put printfs everythere
i know where it happens
switching to cr3
that where it dies
i put printfs everywhere too as well
Then you're not mapping kernel regions correctly
You're leaving stuff out
Forgetting to map stuff
like what
Up to you to find out
i mapped the memory map, kernel, hhdm, and i map vmm regions
why nyaux is archived
how would that even work, wouldnt the vm also die
its not?
Nyauxkc is the new repo
yea
please use nyauxkc
I didn't know
i have gone through many rewrites
?
you got a star from duck ๐ฆ
thanks duck
create
another pml4
and put into it all usable entries and etc
thats what i do
wha
like
i have two pml4
if im missing something to map
wouldnt the vm also die
like
why does it happen only on real hardware
page fault ?
and well
im mapping everything
look at that clearly default case
like

i dont understand
why not
i dont understand why my kernel dies on real hw
void vmmMapEntry(uint64_t* pml4,uint16_t type,uint64_t flags) {
struct limine_memmap_entry* current_entry;
for(uint64_t i = 0; i < getMemMap()->response->entry_count;i++) {
current_entry = getMemMap()->response->entries[i];
if(current_entry->type == type) {
for(uint64_t i = current_entry->base;i < current_entry->base + current_entry->length;i+=PAGE_SIZE) {
vmmMapPage(pml4,i,(uint64_t)phys2Virt(i),flags);
}
}
}
}
i always testing my os on real hw
thats not the issue
then your kernel is not mapped
it is
map kernel
i clearly map it
send code idk
fine
hold on
Contribute to rayanmargham/NyauxKC development by creating an account on GitHub.
two isn't enough
๐
what difference does this make

just try
after mapping entrys map kernel
im not gonna flash a usb and reboot my laptop for this
i know that wont change anything
why not ventoy
it doesnt matter what order
its not when u have a billion tabs open
then i have to save my session
then i have to fucking idk
excuses excuses
so ur agreeing with duck that the order of how u map things matters ๐
what address pmm alloc returns ?
physical or virtual
a hhdm address
virtual
i have to unadd the hhdm offset before utilizing it
to which i do in every instance
if i didnt
page fault
which the vm would catch
it could depending on how shit ur code is
bro
it shouldn't tho
my code doesnt wrok like that
my eyes burn on pt code
i think this is anti copy paste defence
the style that you use is annoying to read
like who tf unironically uses 2 space tabs in their own project or literally no newlines whatsoever lol
you don't understand this is copy paste protection!!!
vscode has formatting enabled so

okay
step 1
figure out why some real hardware works no problem
but some real hardware doesnt
maybe by finding this out we could get closer
okay so
@orchid dawn @flat nymph did u try nyaux on a laptop or desktop, cause i know yall reported nyaux hanged as well
@molten grotto as well as u qwinci
laptop
If it hangs on smp
Well it might hang on smp sometime later
yes I tested it on my laptop, the build that you sent just hanged but the build that I made from git just triple faulted
Because hyper threading
no cause we know its triple faulting from the tables
Lul
yea the build that i sent had an idt installed
the git didnt
okay thats 3 laptops
rewrite it 
no
so we far as i know no one has said a desktop in which nyaux hangs...
nooo
that is interesting
๐ญ
well idk if anyone has even tested it on a desktop lol
i have
works fine
on my hp desktop that my sister has
I also could but its the pc that I normally use so its annoying
and you don't really gain anything from it even if it works
well
we would know that there is a connection between hanging and laptops
that would be helpful maybe
idfk
it very likely doesn't really help with finding the problem
well
do u have better ideas?
no?
Intel/AMD?
both intel cpus the laptop and desktop i tried
13th gen on my laptop
some 9th gen i5 on the desktop\
Most of my PCs are AMD
no
or well except looking more at the code lol
You're passing 2MB everywhere
yuh
okay
heres what im gonna do
nothing
but
just beg a bunch of forums or something for help
๐
yea idfk
Use 4KB pages and that's it
2MB pages are fine
plus kernel dies without them for the hhdm
cause we run out of memory
which is expected
for how much i map
Oh I'm stupid
lol
okay time to ask #osdev-misc-0 , osdev forums and the osdev irc channel
there has to be ONE answer that might get us closer
i hope
i will ask all three when i arrive at my moms, currently waiting for my step mom to collect me
No you're mapping 2mb pages
void map2mb(uint64_t *pt, uint64_t phys, uint64_t virt, uint64_t flags) {
uint64_t *f = find_pte_and_allocate2mb(pt, virt);
*f = (phys & ~0x1ffffful) | flags | PAGE2MB;
}
This (1fffff) masks 21 bits
there are 21 offset bits for 2mb
It's 1GB 2MB 4KB
which i appreciate a lot
btw the memset is still wrong, rn you don't tell the compiler that the input is modified (but this is very likely unrelated as I don't think the output from it is used by the compiler)
Are you only mapping 4GB?
it should be something like ```c
asm volatile("rep stosb"
: "+D"(s), "+c"(n)
: "a"(c)
: "memory");
you're mapping everything
Btw, your hhdm_pages accounting is probably wrong
But it shouldn't affect anything
Can you make a function which prints the page mappings and print that in VM and on physical hw?
Your paging code is very convoluted
Like walking the page tables
didn't you try to do that before too? 
I think it might have been a different script
Like the code looks correct enough to me
But like if it's crashing loading cr3, then you have garbage in page tables
I think there's problems in his pmm
tvoi glaza gorat na ego kode ?
ะฝะตั
ia dumayu on nepravilno zamapil yadro
@surreal path how do I compile your kernel
doesn't he have a makefile???
thanks
Your makefiles are broken
misha@Yoga:~/NyauxKC$ make
./kernel/get-deps
+ dirname ./kernel/get-deps
+ srcdir=./kernel
+ test -z ./kernel
+ cd ./kernel
+ clone_repo_commit https://github.com/osdev0/freestnd-c-hdrs-0bsd.git freestnd-c-hdrs-0bsd 0353851fdebe0eb6a4d2c608c5393040d310bf35
+ test -d freestnd-c-hdrs-0bsd/.git
+ git -C freestnd-c-hdrs-0bsd reset --hard
HEAD is now at 0353851 Update macro names and include guards
+ git -C freestnd-c-hdrs-0bsd clean -fd
+ git -C freestnd-c-hdrs-0bsd checkout 0353851fdebe0eb6a4d2c608c5393040d310bf35
HEAD is now at 0353851 Update macro names and include guards
+ test -d freestnd-c-hdrs-0bsd
+ clone_repo_commit https://github.com/osdev0/cc-runtime.git cc-runtime 9c281448fe40498a6341d74f55c9af4f642c0b1d
+ test -d cc-runtime/.git
+ test -d cc-runtime
+ set +x
error: 'cc-runtime' is not a Git repository
make: *** [GNUmakefile:161: kernel-deps] Error 1

thats the ./get-deps
not mine
from mints
try cleaning everything
and try again
if u have any more problems hop into vc ill try to help
have .gitignore
also are you mapping a reserved memory ?
yep
if yes then it's bad
you put it in the wrong place
wdym
+D and +c should be in the output section
no u should map reversed memory
because it reduces the speed of paging initialization, etc.
doesn't really matter
okay thanks
depending on the map
check the linker script
its stupid but
it works
Are you sure the long part is the pmm initialization and not mappings?
among us
yep
@molten grotto
if you need it then map later
wait hold on
...
but for now you only need a framebuffer, usable memory and bootloader reclaimable
I usually put it into the kernel
why limine putting all responses on bl reclaimable
yeah but nyaux is using the limine provided stack
okay i fixed
well they are reclaimable after all
is the memcpy also wrong qwinici?
rule 7 or something
or is it fine
also i love how i can understand that weird language
real
nah memcpy is fine it seems
why u write it like that
sorry ๐
instead of using cyrillic
yes you already fixed it
why not
fair
are u still having trouble compiling?
if so hop in a vc and screenshare ill try to help
are you a stole makefile from template
yes but modified slightly
ish
not rlly
but wtv
write yourself
i just added a few flags
iirc his kernel is based on the limine c template
its easy
i hate writing makefiles
why
I'm in a lecture lol
okay
but if u have any issues js ping me
because mint already wrote a better one than anyone will ever write in 5 minutes
and
๐ฆ
It's not compiling
is it still the same thing
hold on
whats wrong
im upstreaming uacpi changes
hold on
can u pull my commit rq
remove this folder
go into
kernel
./git-deps
get*
and then try to make it
just write makefile yourself
fatal: No url found for submodule path 'kernel/cc-runtime' in .gitmodules
hold on
Idk
Have you tried this?
it isnt
ive had that issue before
its been solved
Entries almost certainly overlap
how are u sure
my kernel prints mappings at the beginnings
ive looked at them with gdb pt dump
if there was something wrong
it wouldve shown
on the vm
can u show me the full context
like show me the full output
then problem in your pmm
no not really
its really simple
i doubt anything with it
try to test it on real hw
we've already done so
stress test pmm ๐
does it still hang if you turn off uacpi shit
wdym
like not load uacpi
yeah
i dont load uacpi until after i switch page tables
does it still break
That's the key
ah okay
Look at it on physical hw
there will be too much mappings to print
virtual machines sometimes show incorrect results
ngl
same timing
Wdym
also @flat nymph please show the full output of ur command please
or caching
let me help
There will be a lot of contiguous ones
like it should compile
Finding the largest memory region...
Memory map region 0: 0x1000 - 0x2000, type 5
Memory map region 1: 0x2000 - 0xA0000, type 0
Memory map region 2: 0x100000 - 0x800000, type 0
Memory map region 3: 0x800000 - 0x808000, type 3
Memory map region 4: 0x808000 - 0x80B000, type 0
Memory map region 5: 0x80B000 - 0x80C000, type 3
Memory map region 6: 0x80C000 - 0x811000, type 0
Memory map region 7: 0x811000 - 0x900000, type 3
Memory map region 8: 0x900000 - 0x796FE000, type 0
Memory map region 9: 0x796FE000 - 0x79704000, type 5
Memory map region 10: 0x79704000 - 0x79826000, type 6
Memory map region 11: 0x79826000 - 0x79827000, type 5
Memory map region 12: 0x79827000 - 0x79829000, type 0
Memory map region 13: 0x79829000 - 0x7982A000, type 5
Memory map region 14: 0x7982A000 - 0x79900000, type 6
Memory map region 15: 0x79900000 - 0x79905000, type 5
Memory map region 16: 0x79905000 - 0x79A6F000, type 6
Memory map region 17: 0x79A6F000 - 0x79A74000, type 5
Memory map region 18: 0x79A74000 - 0x79B71000, type 6
Memory map region 19: 0x79B71000 - 0x79B76000, type 5
Memory map region 20: 0x79B76000 - 0x79C68000, type 6
Memory map region 21: 0x79C68000 - 0x79C6D000, type 5
Memory map region 22: 0x79C6D000 - 0x79DA7000, type 6
Memory map region 23: 0x79DA7000 - 0x79DAC000, type 5
Memory map region 24: 0x79DAC000 - 0x79E98000, type 6
Memory map region 25: 0x79E98000 - 0x79E9D000, type 5
Memory map region 26: 0x79E9D000 - 0x79EFF000, type 6
Memory map region 27: 0x79EFF000 - 0x79F04000, type 5
Memory map region 28: 0x79F04000 - 0x79F6A000, type 6
Memory map region 29: 0x79F6A000 - 0x79F6D000, type 5
Memory map region 30: 0x79F6D000 - 0x79FC8000, type 6
Memory map region 31: 0x79FC8000 - 0x7A019000, type 6
Memory map region 32: 0x7A019000 - 0x7A204000, type 5
Memory map region 33: 0x7A204000 - 0x7A207000, type 0
Memory map region 34: 0x7A207000 - 0x7A23C000, type 5
Memory map region 35: 0x7A23C000 - 0x7BB5C000, type 0
Memory map region 36: 0x7BB5C000 - 0x7BBA4000, type 5
Memory map region 37: 0x7BBA4000 - 0x7E28E000, type 0
Memory map region 38: 0x7E28E000 - 0x7E293000, type 1
Memory map region 39: 0x7E293000 - 0x7E2A4000, type 0
Memory map region 40: 0x7E2A4000 - 0x7E311000, type 5
Memory map region 41: 0x7E311000 - 0x7E31C000, type 1
Memory map region 42: 0x7E31C000 - 0x7EA7E000, type 0
Memory map region 43: 0x7EA7E000 - 0x7EB08000, type 1
Memory map region 44: 0x7EB08000 - 0x7F4ED000, type 0
Memory map region 45: 0x7F4ED000 - 0x7F5ED000, type 1
Memory map region 46: 0x7F5ED000 - 0x7F6ED000, type 1
Memory map region 47: 0x7F6ED000 - 0x7F76D000, type 1
Memory map region 48: 0x7F76D000 - 0x7F77F000, type 2
Memory map region 49: 0x7F77F000 - 0x7F7FF000, type 3
Memory map region 50: 0x7F7FF000 - 0x7FE00000, type 0
Memory map region 51: 0x7FE00000 - 0x7FE4F000, type 5
Memory map region 52: 0x7FE4F000 - 0x7FE92000, type 0
Memory map region 53: 0x7FE92000 - 0x7FE96000, type 1
Memory map region 54: 0x7FE96000 - 0x7FE98000, type 3
Memory map region 55: 0x7FE98000 - 0x7FEDC000, type 0
Memory map region 56: 0x7FEDC000 - 0x7FF60000, type 1
Memory map region 57: 0x7FF60000 - 0x80000000, type 3
Memory map region 58: 0x80000000 - 0x803E8000, type 7
Memory map region 59: 0xE0000000 - 0xF0000000, type 1
Memory map region 60: 0xFD00000000 - 0x10000000000, type 1
Found the largest memory region at 0x900000, size 0x78DFE000
Limine allocates a lot of size 0x1000 stuff
why so many
no i mean ur compiling command
On my PC at home it had 130 entries lol
what did u do
misha@Yoga:~/NyauxKC$ make
./kernel/get-deps
+ dirname ./kernel/get-deps
+ srcdir=./kernel
+ test -z ./kernel
+ cd ./kernel
+ clone_repo_commit https://github.com/osdev0/freestnd-c-hdrs-0bsd.git freestnd-c-hdrs-0bsd 0353851fdebe0eb6a4d2c608c5393040d310bf35
+ test -d freestnd-c-hdrs-0bsd/.git
+ git -C freestnd-c-hdrs-0bsd reset --hard
HEAD is now at 0353851 Update macro names and include guards
+ git -C freestnd-c-hdrs-0bsd clean -fd
+ git -C freestnd-c-hdrs-0bsd checkout 0353851fdebe0eb6a4d2c608c5393040d310bf35
HEAD is now at 0353851 Update macro names and include guards
+ test -d freestnd-c-hdrs-0bsd
+ clone_repo_commit https://github.com/osdev0/cc-runtime.git cc-runtime 9c281448fe40498a6341d74f55c9af4f642c0b1d
+ test -d cc-runtime/.git
+ test -d cc-runtime
+ set +x
error: 'cc-runtime' is not a Git repository
make: *** [GNUmakefile:161: kernel-deps] Error 1
your motherboard is prankster
Nothing, it's what limine is passing
i will remove the test .git
you can just mkdir cc-runtime/.git
the script is kinda stupid tbh
yea
It woekd
cool
src/term/../flanterm/backends/../flanterm.h:61:5: error: unknown type name โboolโ
61 | bool autoflush;
| ^~~~
src/term/../flanterm/backends/../flanterm.h:62:5: error: unknown type name โboolโ
62 | bool cursor_enabled;

lol what?
what gcc version do you have
why not clang
nyaux is compiled by default on -std=gnu2x
if this is causing issues
go into the makefile and change that
its js a flag
gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
write makefile yourself: โ
fix it yourself: โ
yea change that gnu flag
yeah that's def too old, has to be at least 13 or whatever for c23
changing the flag isn't going to fix it if you use c23 features
i dont rlly use c23 features atm
but i plan to in the future
ANYWAYs
change that flag for now
gnu11 or whatever u wanna use
what c23 have fearures
I never thought about it
because ur a kind person 
Printf page mappings
Coalesce them so there aren't too many of them
The error will become immediately appartent
fine u want me to print them so bad
fine
ill print every mapping
but can u still try to compile nyaux 
prewtty plewease
guess not

great nyaux master don't be sad soon nyaux will be better than windows linux and macos in 9999 times 
nyaux spoonfeeding challenge
bru
i am not getting spoonfed
hes just
a nice person whos gonna debug the entire kernel for me instead of me having to do any work

/j
tru
Well here's your answer ```
vmm(x86_64)(): mapped 0xffff800000800000 to 0xffff800002000000 : from phys 0x800000 to 0x2000000
vmm(x86_64)(): mapped 0xffff800001e00000 to 0xffff800002000000 : from phys 0x1e00000 to 0x2000000
vmm(x86_64)(): mapped 0xffff800001e00000 to 0xffff800002200000 : from phys 0x1e00000 to 0x2200000
like if u dont learn to debug ez stuff like this its only downhill from here
multiple overlapping mappings?
i know how to debug
im js lazy sometimes

yea shouldnt they just overwrite each other @flat nymph
try to debug qemu with all the ram of your pc
hold on i need to piss
hold that thought
๐ฉ
I have some serial ported x86 servers
btw how is your progress with itanium os?
ok back
Yes but if you've mapping 2 different physical addresses to the same virtual one
It's going kinda meh
I can't test any of the itanium parts due to no working machines
So one of the mappings is gotta be incorrect
understandable
so ummm
did they break or something?
this is a good question
but why do i have overlapping mappings

i js map the 4GiB like a good boy
MAYBE his mapping entry's overwriting kernel map
The system board still doesn't work for some reason and I'm waiting on someone to hire me so I can buy more parts
I am always mapping the kernel after entry map
aw damn that sucks
No, kernel should be at -2GB
@flat nymph is it because i do this unwillingly
is this bad
becauase i both map 4Gib and the memory map
am i doing something wrong
obviously yes but what is it exactly

Idk ask @surreal path
wait
no the kernel is higherhalf
it's useless
That's how you map these miserable 4 GB
Could it be that 4GB mappings are correct and it works in a VM, but on my PC with 32GB of ram there's a bunch of stuff that's beyond it and so it breaks?
maybe?
he after mapping a all entrys
i have 16gb of ram
that desktop had 8
hold on im gonna give the vm like an absurb amount of ra
ram
i.e. my laptop
oh yeah removing the 4gib mappings obviously breaks nyaux
for obvious reasons
Optionally, look at the code and fix the overlapping mappings
i am looking at the code
i js dont understand why its overrlapping
now hold on ill reboot my pc into nyaux
lmao
One of the mappings here is not where it's supposed to be
lemme give some of the debug messages difference
so i know if its coming from the memory map or
the 4gib mappings
Because your mappings are garbage
You don't need 4gb
so what do i need to do then
i need to map the hhdm
this seems to be from the memorymap
think with brain
not the 4gib mappings
you mapping ALL entries to hhdm
absolutely all physical memory
you don't need 4gb mapping
yea arent u supposed to do that thats the point of ze hhdm lol
oh
right
wait tho
wait
nonono
hold on
Idk I don't even use hhdm 
direct mapping user
nvm
hooray
as per suggestions i added this as well
