#Nyaux

1 messages ยท Page 38 of 1

shut laurel
#

i mean what do you actually fault on?

surreal path
#

i just told you

shut laurel
#

nvm saw the cr2

surreal path
#

maybe my scheduler code is bugged?

#

idk

#

no idea

#

everything looks correct??

#

tf

flat nymph
#

That's not how that works

surreal path
#

sorry

#

wait wdym

flat nymph
#

When you enter the kernel you set rbp to 0 after saving it

#

I think

#

Idr

#

It's too late

#

But stack frames make a linked list

shut laurel
#

youโ€˜ll just set it to 0, after that entry function returns it would be 0 as functions just push rbp

#

so i guess it should work like that

surreal path
#

yea so

#

why isnt it working

#

because i have a check in my stack tracing code

#

if its 0

#

stop

shut laurel
surreal path
#

in the asm code?

#

like this

#

or no

flat nymph
#

Yes

#

No

#

Not here

surreal path
#

where

#

this one

#

or the interrupt code

flat nymph
#

Yes

#

But in the other half of it

#

When you enter the kernel

surreal path
#

oh so the interrupt

#

i must set rbp to 0

#

after saivng it yes

flat nymph
#

Yes

shut laurel
#

oh yeah

surreal path
#

okay there

#

thats it?

flat nymph
#

Also make sure the stack is aligned

surreal path
#

it should be as its coming from my allocator

#

so it will always be aligned

flat nymph
#

To 16 bytes

surreal path
#

it still dies

#

btw

flat nymph
#

That's what I do

surreal path
#

oh before pushing it???????????????????????????????????????????????

#

what

#

why

flat nymph
#

No

#

So the stack frame is constructed

#

Ideally you push all the reggisters, then you set %rbp to 0 and push it

#

(I'm pushing it twice because of alignment)

#

Then you do ```x86asm
pushq %rbp
movq %rsp, %rbp

surreal path
#

thats my stackframe

flat nymph
#

As function prelude

flat nymph
surreal path
#

is it aligned to 16 bytes at least

flat nymph
#

Idk

#

What does your allocator do

#

Although it probably doesn't matter

surreal path
#

always has good alignment so its fine

flat nymph
#

Unless you're saving SSE stuff

surreal path
flat nymph
#

Idk read system v spec

surreal path
#

bru

#

i will try this

flat nymph
#

That's what I do, but I don't remember why and maybe it's brokern

flat nymph
#

This will override rbp and break userspace in weird ways

surreal path
#

oh

flat nymph
#

And kernelspace as well

surreal path
#

but it solved it?

#

weird

#

but okay

#

yea no idea what to do

flat nymph
#

Yeah you'll not see stack trace at all

#

Read the spec

surreal path
#

bru

flat nymph
#

You also probably need movq %rsp, %rbp

#

After pushq

surreal path
#

isnt that generated when u call a c func

flat nymph
#

It is

#

Then there is no need to push I guess

surreal path
#

yea im finding nothing in spec useful

flat nymph
surreal path
#

i literarly know this

#

i dont get how any of this is gonna help my issue

flat nymph
#

ChatGPT should know this well

#

It will stop your stack unrolling

surreal path
#

but i already know all of this

#

its saying basic shit

flat nymph
#

Yeah it's just a linked list

surreal path
#

yea and somehow my stack is corrupted or something

#

no idea fucking why

flat nymph
#

I wouln't be surprised if it is, but it's probably not

surreal path
#

it prob is

#

because why else is stacktrace dying

flat nymph
#

What makes you think so

#

What's your stacktrace code

surreal path
#

here

flat nymph
surreal path
#
nyauxsymbol h = find_from_rip(frame->rip);
    uint64_t* base_ptr = 0;
    uint64_t temp = 0;
    temp = frame->rbp;
    kprintf_symbol(h);
    base_ptr = (uint64_t*)temp;
    while (base_ptr != 0)
    {
        uint64_t ret_addr = *(uint64_t*)((uint64_t)base_ptr + 8);
        if (ret_addr != 0)
        {
            h = find_from_rip(ret_addr);
            kprintf_symbol(h);
        }
        else
        {
            kprintf("-> Function: none -- 0x0\n");
        }

        base_ptr = (uint64_t*)*(uint64_t*)(base_ptr);
    }
surreal path
#

wdym no

flat nymph
#

Wdym find_from_rip

#

Oh nvm

surreal path
#

searches my symbol array

flat nymph
#

Still

#

rbp points to saved rbp

#

When it's 0, you stop

surreal path
#

yes

flat nymph
#

Why are you doing if (ret_addr != 0)

#

Does some magic function at the last virtual address make a function call?

surreal path
#

what

flat nymph
#

Hmm

#

I need to sleep

surreal path
#

yea i dont think its the stacktrace code

flat nymph
#

The code is ok

surreal path
#

yea

#

told you

flat nymph
#

Still

#

mov 0 to rbp before calling C I guess

surreal path
#

i did

#

nothing changed!

flat nymph
#

I think Limine should do that for you

#

Although idr

#

Maybe it doesn't

surreal path
#

either way i still have an issue

flat nymph
#

If you're still using its stack

flat nymph
surreal path
#

why are you apologising

flat nymph
#

I'm being very arrogant

surreal path
#

its fine even then, at least ur trying to help

#

which im grateful for

#

๐Ÿ˜„

#

i think u should go to sleep

flat nymph
#

I'm trying to study

surreal path
#

okay, well focus on studying then. ill try to figure this issue out

#

somehow

surreal path
#

still cant figure it out chat

#

looking at the code back and fourth

#

dont get why its having this nooo

surreal path
tender gorge
#

Have you tried politely asking the code to work?

surreal path
#

ah yes

#

but seriously tho

#

i have absolutely NO idea whats going on

cinder plinth
#

less complaining more fixing

#

๐Ÿ”ซ

surreal path
#

bro thats what ive been trying to do for the past few hours

#

๐Ÿ’€

surreal path
#

yea ive tried so much to figure this out

#

its 4:30am

#

i need to sleepn

#

goodnight

finite summit
#

Gm

#

Gn

surreal path
#

morning

#

back to debugging nyaux

surreal path
#
we are running limine stack

we get first timer interrupt, push stackframe

disregard this stackframe cause old thread is NULL initially

run do_savekstackandloadkstack

push kernel registers rbx - r15

load kstack from thread

call change rsp0

pop those k registers

ret into return_from_kernel_in_new_thread
pop userspace regs

iretq into thread

get timer interrupt

push stackframe

run do_saveksatckandloadkstack
push k registers
save old userspace regs into thread

load new userspace regs from thread
call change_rsp0
pop k registers

ret into return_from_kernel_in_new_thread

pop userspace regs

iretq into thread

yea no idea
#

i made this keeping track of the stack

#

i see no area where stack would get corrupted

flat nymph
#

call change_rsp0

surreal path
#

how

flat nymph
#

What does it do

surreal path
flat nymph
surreal path
#

no

flat nymph
#

Then why do you have ret into return_from_kernel_in_new_thread

surreal path
#

before we go into the timer interrupt

flat nymph
#

And

#

After you call do_savekstackandloadkstack, you return to there on the next call

#

If you're not calling create_kentry

#

Which you're hopefully not doing

surreal path
#

im not

flat nymph
#

So you create two threads

surreal path
#

no

#

one

flat nymph
#

Then what are you switching to inside the timer interrupt

surreal path
#

hold on ill explain this

surreal path
#

the new thread

flat nymph
#

You are inside the only thread there is

#

You call schedd

surreal path
#

yes

#

then

flat nymph
#

What does it switch to

surreal path
#

i save the old thread

#

switch to the same thread

#

go back into it

flat nymph
#

Where does it pagefault?

surreal path
#

stacktrace

flat nymph
#

You only do that when you enter userspace for the first time in a new thread

surreal path
#

am i supposed to do that everytiem

flat nymph
#

No

#

You're only supposed to do that once

surreal path
#

okay

#

so whats the problem

flat nymph
#

What calls your timer interrupt?

surreal path
#

lapic timer

#

every 10ms

flat nymph
#

Yes, which function do you put in idt and where is it in your code

surreal path
#

sched

flat nymph
#

which file is it defined in?

surreal path
#

idt.c

flat nymph
#

You need to be saving all registers

surreal path
#

it does in isr stub

#

๐Ÿ˜ญ

flat nymph
surreal path
flat nymph
#

Yeah

surreal path
#

still tho

#

no idea whats going on

#

to cause the stacktrace to die

flat nymph
#

You're not setting rbp to 0 in isr stub

surreal path
#

even if i do that

#

it still dies

molten grotto
#

well yeah because you take the rbp from the frame (also zeroing rbp there would make the whole backtrace useless)

flat nymph
#

Your struct StackFrame is in wrong order I think

surreal path
#

how

#

its in the right order

finite summit
#

if this is

#

like stack trace

molten grotto
#

you just have to somehow make rbp be zero at kentry

surreal path
flat nymph
#

Your intnum is on the top

surreal path
flat nymph
#

Or not

#

Wait

surreal path
#

error_code

flat nymph
#

Yeah

surreal path
surreal path
molten grotto
#

where do you switch to kentry?

surreal path
#

in the schedd task function

#

?

molten grotto
#

where do you call that from

surreal path
#

timer interrupt

#

@molten grotto

flat nymph
#

Also, you can just try halting the kernel, and looking at the trace with GDB

surreal path
#

look

#

^

#

ignore the ubsan

#

but still

#

and btw @flat nymph i had forgot to add a send eoi before switching into the thread

#

and an sti

#

but even that doesnt solve anything ofc

#

i dont know how to fix this

flat nymph
#

Are you sure it's stack corruption?

#

Like you can place 2 breakpoints inside the isr stub

#

And check that the registers are the same on entry and on exit

surreal path
molten grotto
#

your stack trace is broken and tries to get the rip of the first frame with rbp 0

#

which ends up accessing out of bounds of the thread's stack

surreal path
#

guess what

#

solves nothing lol

molten grotto
#

you did it in the wrong place

#

you need to have smth like ```c
uint64_t* next = (uint64_t*) (uint64_t) (base_ptr);
if (!next) {
break;
}

surreal path
molten grotto
#

you need to load it from the base_ptr not check base_ptr itself...

#

the while already checks base_ptr

surreal path
#

solved it??

#

so there was no bug?

#

it was just my stacktrace

#

being stupid?????????????????????????????

molten grotto
#

yes

surreal path
#

wow

#

so all that fucking debugging

#

was for a bug that didnt exist

molten grotto
#

a good advise for debugging: don't use macros for large pieces of code like that

flat nymph
#

I said there was no stack corruption

molten grotto
surreal path
#

hi im going to shoot myself

#

i debugged for 7-8 hours

#

fucking gotta be kidding me

surreal path
#

@molten grotto how do i get 8 hours of my life back

molten grotto
#

by speedrunning whatever the next thing you wanted to do on nyaux was troll

flat nymph
#

bash when

surreal path
#

soon โ„ข๏ธ

#

ioapic shanngains to finish

#

then gotta remmeber the vfs

molten grotto
#

you are likely going to get it before I at least meme

surreal path
molten grotto
#

unless I am going to speedrun a new unix-like kernel

surreal path
#

syscalls

#

xsave and friends

#

elf loading

#

and um

#

tty

molten grotto
#

I kinda actually want to try making an unix-like kernel, I just don't think I want to do it with crescent tho

surreal path
#

if bro speedruns a unix like kernel faster then i write the vfs

#

im cooked

#

anyways im kinda thinking of givings threads like

#

tids

#

so like a thread could have tid 0 or 1 or wtv tf

#

pid exists too

#

maybe giving threads names too trl

#

i think linux does that too

#

as well as tids

#

does linux give threads names

molten grotto
#

yes

surreal path
#

whats the max thread name limit

#

if there is one

molten grotto
#

looks like it has been 15 at some point at least

surreal path
#

did they change it?

molten grotto
#

idk

#

but you don't have to have it be the same

#

just choose some sensible limit

surreal path
#

fair

#

tids are probs stored in a u64 or smt

molten grotto
#

you don't want thread names that are 128 chars long

surreal path
#

what if i do

#

/j

molten grotto
#

well then you do ig

#

but that would be kinda weird

surreal path
#

is 256kib for a kernel stack TOO much

#

i choose that number cause limine defaults to giving 256kib stacks

flat nymph
#

My thread names have no limit in length galaxybrain

kind root
#

kernel stacks are usually 4-16k

surreal path
kind root
#

whats the difference

surreal path
#

ima give nyaux 16kib kstacks

kind root
#

are u going to make them exactly 4000 bytes if i tell u its kb

surreal path
#

no

#

16384

#

thats 16kib

kind root
#

yes

kind root
#

on linux pid == tid for main thread

surreal path
#

nyaux running on 16kib kstack (page fault is intentionally forgot to remove it)

kind root
#

then tid is just in the same namespace as pid

#

just incremented

#

or wahtever

surreal path
#

it would be tid 16 for the main thread

#

some other thread being 17

kind root
#

yes

surreal path
#

then 18 etc etc

kind root
#

yes

surreal path
#

fair

surreal path
kind root
#

u have better things to do

surreal path
#

trl but looks

#

/j

#

yes i have better things to do ur right tho

#

gotta work on ioapic

#

then

#

vfs and etcetc

kind root
#

EC ๐Ÿ˜ก

surreal path
#

AND EC

#

๐Ÿ˜ญ

#

(please dont kill my family infy)

thorn bramble
#

flanterm font: not important
ec driver: very important

kind root
#

im in your walls

surreal path
kind root
surreal path
#

actually ill do EC straight after ioapic

finite summit
kind root
#

lmao

finite summit
kind root
#

sure

cinder plinth
#

oops wrong message

#

anyway

#

for fonts

surreal path
#

hold on

#

take a quick nap then ioapic

surreal path
#

this makes sense

#

need an route irq function then im done

flat nymph
#

Also interrupt allocation troll

surreal path
#

no per cpu idt trl

#

cry abt it i have 256 vectors trl

flat nymph
#

"division by 0"

surreal path
#

minus the exceptions ofc

flat nymph
surreal path
#

this is genuinely so cringe

#

i want to work on nyaux but

#

the loneliness of not having a relationship anymore

#

fucking hell why i always get these feelings

#

๐Ÿ˜ก

finite summit
surreal path
#

genuinely

kind root
finite summit
surreal path
#

teenage girls are really mean

#

like

#

REALLY

finite summit
#

osdev has no end
girlfriend has end

#

choose one

surreal path
#

osdev lol

#

but im human so i cannot escape these kind of feelings

#

which sucks ass

kind root
#

Be an ai

surreal path
#

lol

finite summit
#

program until you transcend feeling

#

until it's all you think about

#

get a tumor in your amygdala

hexed mango
#

Hope you feel better soon

plush hearth
finite summit
#

fr

surreal path
#

i napped and now its 2am

finite summit
#

uh oh

surreal path
#

yep

#

ruined my sleep schedule further

#

๐Ÿ˜ญ

surreal path
#

i had the single worst sleep

#

known to existence

flat nymph
#

You haven't had university entrance exams yet

#

(and university in general if you're gonna do that)

elder shoal
flat nymph
#

Although maybe I had the best sleep after that

#

I remember being knocked out for 3 days after them

#

With no memory of them

cinder plinth
#

meanwhile during exams I started at like 8

#

so I couldnt sleep

surreal path
#

anyone have a throwaway ec laptop

#

my only laptop has EC

#

but

#

i dont want to brick it

#

im not taking the risk

#

@kind root do u know anyone with a throwaway ec laptop

#

also do u have resources on EC

flat nymph
#

Dw

#

Unless you do something stupid

#

(which now if you come to think of it could totally happen in nyaux)

green elbow
#

bro rip

flat nymph
#

Nothing bad should happen tabien

surreal path
#

๐Ÿ˜”

surreal path
#

it probs would

#

but

#

ill have to take the risk with my laptop

#

if i brick it tho

#

no more osdev for a long time, ill have to save up for a new computer

#

and ill only have a phone

surreal path
elder shoal
kind root
#

worst case you'll have to pull out the battery

surreal path
#

i dont have a removable battery laptop

kind root
#

lmao

#

it must have some hard reset thing

surreal path
#

no

#

it does not

molten grotto
#

no hole at the bottom or anything?

#

my laptop has a tiny hole and a button under it

flat nymph
#

I think that laptops should have the same thing as phones, where if you hold a power button for a long time it should disconnect the board from power

surreal path
silver yarrow
#

it takes like a minute

surreal path
#

lucky bro

#

anyways

#

route irq function time

flat nymph
#

You can just use MSI

surreal path
#

hold on lemme js test nyaux on my laptop rq

surreal path
#

for the ioapic

#

route irq function for the ioapic that is all

#

then its EC

#

i have lost my usb.

#

fuck

#

sooo

#

anyone willing to flash and test nyaux on real hw rq.

#

i have lost my usb.

#

i want to check something with systems with multiple ioapics

flat nymph
#

Maybe tomorrow

surreal path
#

hold on

#

we maybe be saved

#

i found a usb sd card reader

#

and i have an sd card in my drone

#

we are saved

#

nyaux development continues

#

we are not saved

#

my only sd card reader just broke apart

#

like the entire shell.

#

broke

#

pcb came off the usb connector too

#

JUST MY FUCKING LUCK

#

๐Ÿ˜ญ

#

soooo chatttt

#

i not only need a person with a usb drive

#

i need a person whos willing to test nyaux on real hw a billion times

#

not just for the ioapic

#

but for even EC

#

@rigid fable mr duck i need ur help

#

how

#

the actual fuck

#

am i going to work on nyaux

#

now

silver yarrow
#

cant u pickup another usb

surreal path
#

i dont have another usb

silver yarrow
#

I meant buy one

surreal path
#

im not an adult

#

no 1

#

no 2

#

my dad wont let me leave the house til he comes home

silver yarrow
#

how did u lose the usb had in the first placea

surreal path
#

no idea

#

just disappeared

#

lol

#

anyways i found a victim friend to help me test it

#

some random guy who has a usb and a recent computer

rigid fable
#

who ping

thorn bramble
#

there's this cool thing to find that out

#

in top right of your discord client

surreal path
#

!!

#

vm

#

nvm

#

its goign nowhere

surreal path
#

i have a favor

#

to ask you

silver yarrow
#

this is a shot in the dark but do u have a rooted android phone by any chance?

surreal path
#

no

#

i have an iphone

silver yarrow
#

rip, couldve used that as a bootable drive

surreal path
#

yea

#

:(

silver yarrow
#

lol

surreal path
#

view it under 7zip or smt

#

straight outta the makefile

#

i am beggin

#

๐Ÿ˜ญ

rigid fable
#

okY

#

I'll put it on ventoy

silver yarrow
#

Nyaux automated testing pipeline: Nyauxmaster -> discord -> ๐Ÿฆ† -> discord

surreal path
rigid fable
#

i'll test it on 2 pc

surreal path
#

okay

rigid fable
surreal path
#

damn

#

no multiple ioapics

#

๐Ÿ˜”

#

im fucked

rigid fable
#

crap limine doesn't support bios ventoy

surreal path
#

damn @wicked loom that is normal right?

#

i think that is?

rigid fable
#

it supports only uefi

surreal path
#

no?

finite summit
#

Huh?

surreal path
#

it supports both?

finite summit
#

The crap here is ventoy

#

Idk why people even use that crap

rigid fable
#

putting iso in filesystems is safer

kind root
# rigid fable

i recommend implementing the entire kernel api, especially pci io before running on real hw

surreal path
#

lol

#

i am just testing something

kind root
#

you will end up with half initialized firmware

surreal path
#

i know but im still gonna write the EC driver

rigid fable
#

and why this is extists

surreal path
#

embeeded controlerl

rigid fable
wicked loom
#

Limine doesn't need to support Ventoy

#

Ventoy needs to support Limine

rigid fable
rigid fable
surreal path
#

so

#

does anyone

#

have a computer with mutiple apics

wicked loom
#

probably only bigger servers/workstations do

surreal path
#

my laptop does

wicked loom
#

maybe you can tell QEMU to emulate that

#

ah

surreal path
#

to which i cant test it

wicked loom
#

well that's cool

surreal path
#

BECAUSE I DONT HAVE A USB

#

๐Ÿ˜ญ

rigid fable
surreal path
#

i lost it

rigid fable
#

external drives

surreal path
#

no

rigid fable
#

what is your bootloader

surreal path
#

i dont have a usb

#

either way

rigid fable
#

on your

#

main hard drive

#

what is bootloader

surreal path
#

windows boot manager

#

and grub

#

ig

rigid fable
#

you can

cinder plinth
#

You could just make a partition on your disk

#

And flash the drive there

rigid fable
#

load iso file to ram

#

with grub

cinder plinth
#

And boot from there

rigid fable
#

and chainload efi file

surreal path
cinder plinth
#

wdym

rigid fable
cinder plinth
#

You just reserve a few gigs

rigid fable
#

grub can do it

cinder plinth
#

And dd your iso there

surreal path
#

hold on

rigid fable
kind root
#

ventoy never works

rigid fable
wicked loom
#

Ventoy is a hack, he is right in that

#

but there is no way to make something like what Ventoy wants to achieve without being a hack that barely works

surreal path
#

fair

rigid fable
#

๐Ÿ˜ญ

flat nymph
#

ventoy is convenient though

wicked loom
#

for what it is, it's a miracle it works as well as it does, yes

flat nymph
#

what's missing though

#

ventoy is open source (?)

tawdry mirage
flat nymph
#

fine i'll test nyaux on my desktop

wicked loom
tawdry mirage
#

on my laptop: ```
[ 0.035718] IOAPIC[0]: apic_id 7, version 33, address 0xfec00000, GSI 0-23
[ 0.035722] IOAPIC[1]: apic_id 8, version 33, address 0xfec01000, GSI 24-55

surreal path
#

thank you

#

so much

surreal path
#

ur a life saver

surreal path
flat nymph
#

That PC has a serial port so I can share the logs if you write them there

kind root
#

at least it doesnt brick it

flat nymph
#

It doesn't have EC so nothing to worry about ultrameme

#

@surreal path

surreal path
#

share the logs

#

please

#

read from com1

surreal path
#

in nyaux

#

just share the logs @flat nymph please

#

we may have another nyaux bug

kind root
#

maybe his pc is just broken meme

surreal path
#

no im assuming its my code

#

it prob is

#

some weird obsecure bug that only happens on hardware like his because of one device maybe idfk

flat nymph
#

I'm booting the second PC

surreal path
#

okay

flat nymph
#

Even the framebuffer

kind root
#

/s

flat nymph
#

(another secretly fucked os)

surreal path
#

cant get enough of these bugs

#

i swear

flat nymph
kind root
#

wtf why

flat nymph
#

It has two broken HDDs

#

With bad sectors

surreal path
#

im gonna iwannadie

flat nymph
#

And stuff

#

One was pulled from a laptop

surreal path
#

ugh

flat nymph
#

Because it was dying

#

So it's reading at 10MB/s

#

With seek times of seconds

#

But Linux boots on it so that's fine tabien

surreal path
#

whats the cpu on the pc that triple faulted

#

how much ram

flat nymph
#

Ryzen 9 5900X

surreal path
#

wait ram shoulnt matter

flat nymph
#

64GB ram

surreal path
#

well fuck

#

so

#

nyaux hates mne

flat nymph
#

Resizeable BAR

#

A.k.a. MMIO mapped above 4GB

surreal path
#

maybe thats the problem?

#

no

#

it would have just said it faulted

#

i install an idt immeditely after boot

#

idfk

flat nymph
#

fun stuff

#

(I think it booted)

#

(Linux that is)

surreal path
#

can u try booting nyaux

flat nymph
#

What's your com port parameters

surreal path
#

theres no parameters

#

i just write characters to com1

flat nymph
#

Wdym

surreal path
#

literarly just write chars

flat nymph
#

That's not how that works

surreal path
#

i dont even init it

flat nymph
#

Lol

surreal path
#

it works on qemu trl

flat nymph
#

Yeah no

thorn bramble
#

ofc it works on qemu

#

everything works on qemu

#

-# even nyaux

surreal path
#

well time to debug another bug

thorn bramble
#

what bug are u having

surreal path
#

:)\

surreal path
flat nymph
#

It's not a bug

#

Oh, that is a bug

surreal path
#

i got lucky

#

found a usb

#

that kinda works

#

its shitty tho

#

and sometimes just refuses to work

#

but it ran nyaux fine

#

no issues

#

no triple fault or any nonsense

#

and i learned my laptop does not have 2 ioapics

thorn bramble
surreal path
#

nothing in osdev is simple

finite summit
surreal path
#

@flat nymph are u sure u flashed the iso

#

and are not using an older version of nyaux

flat nymph
#

Wdym am I sure

surreal path
#

i just want to make sure

flat nymph
#

I've been testing pmOS previously

surreal path
#

understandable

#

im gonna actually crt

#

cry*

#

@flat nymph did nayaux boot yet on that pc

#

nyaux*

flat nymph
#

What do you want me to do

#

What's the rate of the serial port

surreal path
#

theres no rate

#

i dont init

#

the serial port

#

i just write bytes

flat nymph
#

then there's no serial port

surreal path
#

fun

#

hold on while i properly init the serial port

#

ill write some quick code

#

im actually just going to yoink this init code from the wiki

#

i need to see this now

flat nymph
#

You also need to be waiting for the port to be empty when writing

surreal path
#

yea

#

stole code for that too

#

from the wiki

#

try this please

#

@flat nymph

#

baud rate is 38400

flat nymph
#

balenaetcher is refusing to work

#

I'm gonna flash ventoy trl

surreal path
#

just use rufus

#

if ur on windows

#

if ur on linux js dd the iso

flat nymph
#

it's headless

surreal path
#

dd it

flat nymph
#

๏ฟฝz๏ฟฝ๏ฟฝ2c๏ฟฝ๏ฟฝ๏ฟฝY๏ฟฝd๏ฟฝ)2๏ฟฝ8QY๏ฟฝ

surreal path
#

im going to kill myself

#

cant even fucking debug it

#

im going to actually go into tears

#

now we have a bug thats not even debugable

#

@flat nymph i dont know what to do anymore

surreal path
flat nymph
#

I'm gonna try pmOS just to make sure the PC is sane

#

Since I've gotten a new motherboard recently

tawdry mirage
#

did you set the baud rate to 38400?

surreal path
tawdry mirage
#

that's what the code nyaux copied sets it to

surreal path
#

i didnt even bother to write it myself

flat nymph
#

sudo screen /dev/ttyS0 38400

#

When do you start printing logs?

surreal path
#

literary after init temr

flat nymph
#

?

surreal path
flat nymph
#

have you considered doing it before that?

#

Hmm pmOS is loosing half of the logs

surreal path
#

and im actually starting to cry because i thought i was so done with these bugs and now we have a huge bug thats probs gonna be undebuggable because even the fucking serial port doesnt work

flat nymph
#

My serial cable is skill issued for some reason

#

I'm blaming the PSU

surreal path
#

it doesnt matter

#

nyaux is bugged

#

i have no way of testing it

#

i want to bang my head againist the wall

#

i dont know what to do

#

@flat nymph any ideas at all?

thorn bramble
#

what is the bug

#

sorry

#

i think i asked this earlier

#

but i forgot to check in

surreal path
#

it doesnt work on his machine

thorn bramble
#

ah the triple fault

surreal path
#

works on my machine

#

fine

#

works on ducks machine

#

fine

#

but his machine

#

NOOO

thorn bramble
#

find another machine it doesnt work on that u have access to

surreal path
#

i dont have

#

at all

thorn bramble
#

didnt it also crash in vbox?

surreal path
#

no

#

it didnt

flat nymph
#

Another PC which is mine

thorn bramble
#

i remember you had some issues with vbox

#

hmm

#

whatever

surreal path
#

that was solved a while ago

thorn bramble
#

yeah if mishakov is fine with it then you can just start by commenting out everything

kind root
#

sorry, but why cant u just get serial logs?

thorn bramble
#

then comment back in one thing

flat nymph
#
 map regFF2000 - 0xC13CCmory map region 14: 0xC1 0xC16CC region  0xFEDD658: 0xFF 59: 0x1mory map - 0x102C000 - 0000, type 6
 Memory map region 2F1DD000 - 0x102F23F000,mory map2F2A5000F300000,0000 - 0x1030000000, typ region 00000000
                                                                                                           Found tst memor at 0x100000000,F2EA60000
Initializing region 00xA20E0000000
Sp PMM re020000 -PMM region 0xC1600
80000007 6799000 - 0xC327E00ng up PMM regionzing interrupts
[Info: TSant bit lizing pidle tasinit
Moline: inclaimablC1C000 -ng bootle
CPU 1e
CPU 1PU 1B enryspsaca4C5P)U  1Fte r(i6s5e5r0.de)r
                                                 spa/idle
CPU 1 enteDerbsupsyscall failed)
thorn bramble
#

and put a for(;;) asm volatile ("hlt")

flat nymph
#

logs from pmOS

kind root
#

most stable nyaux driver

flat nymph
#

which were working before

thorn bramble
#

that's pmos

#

not nyaux

flat nymph
#

I'm blaming the power supply

surreal path
thorn bramble
thorn bramble
surreal path
#

k

thorn bramble
#

do this until you find the thing that crashes

surreal path
#

will do

kind root
thorn bramble
#

if you narrow it down like that it will be easier to find the bug yourself

#

because eventually you find the function that leads to the crash

#

and you can audit it yourself

#

even without logs it should be easy to find what's going on

surreal path
#

i commented out everything but one print

thorn bramble
#

unless it's some sort of scheduler bug then that won't work

surreal path
#

also mishakov

#

prepare for a lot of flashing

kind root
#

dont flash him twf

surreal path
#

๐Ÿ’€

kind root
#

first a comment about fucking nyaux now this โ˜ ๏ธ

surreal path
#

nahhhh ๐Ÿ’€

#

ur dirty minded

#

nahhh

surreal path
finite summit
#

.!naenae @surreal path being inappropriate

safe spireBOT
#
Command executed by oberrow
Command Error
Type

Permission Error

Details

You must have BAN_MEMBERS to execute this command.

flat nymph
#

btw

surreal path
#

yea?

flat nymph
#

while the funny PC is booted

#

I can the ACPI dump

surreal path
#

yea but its def fnot the aml

flat nymph
surreal path
#

I COMMENTED OUT EVERYTHING

#

TF

#

WHAT

#

WHAT

#

WHAT

flat nymph
#

๏ฟฝ๏ฟฝ๏ฟฝY๏ฟฝd๏ฟฝ)๏ฟฝz๏ฟฝ๏ฟฝ2c๏ฟฝ๏ฟฝ๏ฟฝY๏ฟฝd๏ฟฝ)8Q

kind root
#

most stable entrypoint

surreal path
flat nymph
#

At least it's consistent

surreal path
#

BRO

#

FINE LETS COMMENT OUT THE KPRINTF TOO

kind root
#

are u sure u recompiled it

surreal path
#

yes

#

im sure

#

u can see by the file size

thorn bramble
surreal path
thorn bramble
#

hm ok

#

well

#

the framebuffer might be >4G

#

and that might crash lol

surreal path
#

why

flat nymph
#

It probably is

thorn bramble
#

well take a guess?

#

lol

#

unless limine uncoditionally makes the framebuffer

#

even if >4G

flat nymph
#

Fuck why does it boot into windows all the time

thorn bramble
#

try commenting out the flanterm init

surreal path
thorn bramble
#

and ofc every usage of the flanterm context

#

because if u use it while its uninitialized you will crash

#

duh

surreal path
thorn bramble
#

but thats the only thing i can think of that might cause issues

#

what what

surreal path
#

i dont get

#

why would it crash

kind root
#

bruh

thorn bramble
#

limine only maps first 4G of memory for you

kind root
#

think harder

thorn bramble
#

if the framebuffer is above 4G you will page fault

#

and without an idt you crash

#

lol

surreal path
#

oh

#

yea

thorn bramble
#

UNLESS

flat nymph
thorn bramble
#

as i said

surreal path
#

forgot

thorn bramble
#

limine maps the framebuffer

#

which I DONT KNOW if it does

#

i think it maps all usable entries + 0x1000-4G unconditionally

flat nymph
surreal path
surreal path
thorn bramble
#

no, it is your code

surreal path
#

bro

flat nymph
#

Can you comment everything?

surreal path
#

i did

thorn bramble
#

you are calling flanterm_fb_init tf

flat nymph
#

kmain() { hlt(); }

surreal path
kind root
#

by that logic uacpi crashing because of a broken allocator would also not be your code LULW

surreal path
#

V

thorn bramble
#

isnt it a headless machine

#

it wont have a framebuffer

surreal path
#

is mints

#

not mine

#

i dont own flanterm

thorn bramble
#

but ur giving it bad arguments

#

so its ur fault

surreal path
#

what

flat nymph
#

Since it has 2 4K screens

thorn bramble
#

that's not weird

flat nymph
#

One of which is 144Hz

#

So the firmware sets some obnoxious resolution

thorn bramble
surreal path
#

i do

flat nymph
#

With one of them, it sets it to 4K

thorn bramble
surreal path
#

framebuffer_request.response

thorn bramble
#

you do?

#

you sure?

surreal path
#

before

thorn bramble
#

Ah

flat nymph
#

Framebuffer does work in pmOS though

thorn bramble
#

<--- Blind ass mf

flat nymph
#

But I throw away Limine's hhdm very early on