#Nyaux
1 messages Β· Page 49 of 1
Most often it's either returning () (a size-less single-state type) or a Result
Result? Is that its own data type ?
Or is that kinda just the equivalent of an error code in a C function like return -1;
Result is a generic type with two parameters. It stores either an Ok or an Err value and is the de facto way to deal with functions that can return exceptionally.
Pov rust actually has error codes that makes sense
There's this really nice ? syntax that returns the result if it's Err or unwraps Ok
That's the underlying mechanism.
Smart
Let's move to #programming
Bet
rusties when they find out that rust is, in fact, not memory safe
Rust is memory-safe by default. What it isn't is leak-proof. But Rust defines memory safety to include memory leaks because, realistically, that's not going to crash your program unless you leak a lot of it.
me when i put unsafe around everything and suddenly i can do unsafe things π€―
There's a lot of things you could criticise Rust for but being memory-unsafe is not one of them.
eh
rust isn't 100% memory safe
there are a few situations where it fails
and im not talking about leaks
Like... ?
I'm sorry but if you're going to say the language about memory safety is memory-unsafe, you're going to have to provide actual proof.
have you heard about lifetime expansion
ofc
you probably also know cve-rs then
no
Those are bugs
And you need to really intentionally do it wrong to get bitten in the ass by it
call it a bug, it's still unsound
The author literally calls them bugs
so? this does not invalidate our argument
as long as this isn't fixed, rust isn't 100% memory safe
You were making it sound way worse than it is
i don't think so
.
that's... not me?
lol
in the end it doesn't matter though, because even 1% safety is better than 0
these are nitpicks
Most of it seems to be based around an ability to create dangling pointers
Whatever. In the end, both C and C++ let you do this without so much as a single instruction of UB emitted whereas this is entirely because of compiler bugs and is probably classified as UB
(the part after you get the dangling pointer, that is)
this is like saying "gcc isn't C-compliant because it has at least 1 bug!!!"
just.. wrong
that's not at all what it's like
it is tho?
no
What's the difference?
soundness holes are bugs, and not being compliant would be a bug
something to be discovered and fixed
gcc claims to be c compliant, rust claims to be memory safe
and they both are mostly true, barring a few rare bugs
and the argument around unsafe is just wrong too, unsafe doesn't mean unsafe
unsafe means "I checked this myself, trust me"
i didnt say that at least
yea just generally pointing around
in my experience, unsafe also carries around the heavy weight of a lot of UB
if unsafe existing makes rust code not memory safe, by analogy ALL C code has to be not memory safe because even well written C code is in an "unsafe context"
imo there's a difference between a language being unsafe and an implementation of that language being unsafe. to my knowledge, rust the language is safe, because a theoretical implementation without bugs would have no soundness holes. the reference implementation of rust isn't safe, because it has soundness holes due to bugs
if one makes that argument, they're full of shit
yea just pointing the absurdity of the argument around unsafe
agree
yep. rust prefers to make things impossible just to prove it is safe
rust has had different algorithms for the borrowck, each one increasing the scope of allowed code
i do wish rust had a stable abi
Rust will reject some valid programs, and all* invalid programs
C will accept some invalid programs, and all valid programs
What's wrong with using the c abi?
e.g. pre- treed borrows, some code would not compile even if it was perfectly safe because the borrowck's then-algorithm couldn't prove it's safety
Oh yeah precompiled libs would be really nice
now we have treed borrows and more of those cases are allowed
there's nothing wrong with the c abi, the problem is that rust says "the rust abi is unspecified"
oh god I want that so much
But imo it should only be stabilized to the rustc version
wut
2024 please
That way they can still make improvements to the abi
but 2024 is already a thing lol
I mean they did just release it a few days ago
yea but it should be frozen at some point
this
Yeah it was stabilized in nightly last year
to make dylibs forwards-compatible
stable
nightly
pseudo stabilized? I'm not fully sure on what it was exactly
idk what they did but even if there's no spec they could start by freezing it in rustc
like a soft forwards-compatibility guarantee
but not actually a guarantee
just attempting
wait this is nyaux thread
talking about unrelated compiler bugs in Nyaux shall be punsihed
keep the chat somewhat nyaux related π₯Ί
Nyauxmaster C compiler when?
Nyaux (Kompiles C)
Nyauc
NyauxCC
We love you nyaux if you make a c compiler I will never use another ever again
ncc (nyaux c compiler)
> gcc
ncc (Nyaux Compiler Collection) is better than gcc (GNU (is Not Unix) Compiler Collection)
ncc (Nyaux Compiler Collection) is better than gcc (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU error recursion limit reached
fn gnu() {
println!("GNU (");
gnu();
println!(" is Not Unix)");
}
fn main() {
println!("ncc (Nyaux Compiler Collection)");
println!(" is better than ");
println!("gcc (");
gnu();
println!("Compiler Collection)");
}
;compile ```rs
fn gnu() {
print!("GNU (");
gnu();
print!(" is Not Unix)");
}
fn main() {
print!("ncc (Nyaux Compiler Collection)");
print!(" is better than ");
print!("gcc (");
gnu();
print!("Compiler Collection)");
}
ncc (Nyaux Compiler Collection) is better than gcc (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU (GNU
warning: function cannot return without recursing
--> <source>:1:1
|
1 | fn gnu() {
| ^^^^^^^^ cannot return without recursing
2 | print!("GNU (");
3 | gnu();
| ----- recursive call site
|
= help: a β`loopβ` may express intention better if this is on purpose
= note: β`#[warn(unconditional_recursion)]β` on by default
warning: 1 warning emitted

Also I'm pretty sure the recursion would go something like
GNU is Not Unix is Not Unix is not Unix is not Unix is not Unix is not Unix is not Unix is not Unix
it would assuming you can see the entirety of the infinite length string
wait no
this isn't just opening the acronym
it's GNU (GNU is Not Unix) is Not Unix in this case
but if you just evaled GNU itself
it would be GNU is Not Unix is Not Unix
The fully expanded form can't start with GNU because that is an unexpected acronym. There just can't be a beginning, however we can know it ends with "... is Not Unix is Not Unix is Not Unix"
Anyways, Nyaux stay safe, we hope we'll seeing you soon π«‘
}
sending hugs rayan π« π
virtual hug π«

nyaux how are you
we are still thinking of you nyaux π
myaux
which of those 2?
both >:3
im still here
very hard to get horus out
i dont even have
a few minutes
i hate this place
tomorrow they are making a ddecesion
if im staying here long term or not
we will see
i missed yall tho
Sending virtual hugs and well wishes
thank you
oh yeah @hexed sluice i just wanna say has limine updated significatnly for the time ive been gone? i cant rlly check github is blocked
Not in a way that'll break anything. The last major update was before you went in.
Looks like some new stuff is happening for a 9.x branch some time in the future?
cnat wait for that
love you all
soon ill be back i hope
when they getr my meds working
they will probs let me out
hey! other than v9 being released, not really i guess?
ah okay
thanks for letting me know tho
if i can say anything, please be honest as to how you are feeling to your psychs
cause u can upload files onto github
i am
dont lie to try and get out or anything
i tell them the meds arent working
love ylal cya soon\
cya
love you too π
Emotional support msg
cya π₯Ί
Yup, we're still waiting for you π«‘
}
can't wait to post that one lotr gif
This server is a bit sad without nyauxmaster
Nyaux is our GOAT
I'll download CS2 on my new distro just for Nyaux
i have a discharge date
13th of march
@hexed sluice @flat nymph @tender gorge (cant ping more cause bot will ban me or smt but im so excited to say this i needed to ping yall)
yay
yay
I just realized that Nyaux is also a fellow computer graphics enjoyer
i dabble in it sometimes
:)\
also
as soon as i come back
straight to nyaux work

Is 2025 the year of the Nyaux desktop? 
yes real
NyauxDE
Nyaux windowing protocol
omg reall
holy shit LFG

Yay
LETSGOO


let's fucking goooooooo
Do you feel better and will you continue getting support?
Yay
DAJE πͺπ₯
}
(I always forget the } lol)
nyaux 
lfg
LFG
Chat we're about a week away from the great return 
}
Well the old version did anyway
NEVERMIND I AM BLIND
Create a PR right away
Nice

Ah good
No loading indicators which sucks
Make a PR so it prints out every GDT entry
Spinning / with percentages
printf("loading gdt...");
sleep(1000);
printf("gdt loaded");
Lowkey that would be hilarious imma do that in mine
I print out gdt loaded for every CPU
but tbh that is a relic from some debugging session
Also checks the timer infrastructure
ability to sleep before GDT 
Why not
Aren't you supposed to enable GDT first before handling interrupts?
you can use timer's counter
i eat cement
I've just realized Nyaux thread still has more messages than lounge 2 aka uACPI thread
hi
i get night leave today
but im too sleepy to talk on disc rn
i love yall btw
@kind root i will make cpu init ok imagine

registers init ok
don't forget to print out every <register>.... ok
π©·
i wont

Letsgo
hiiii :3
Print out the memory addresses of every single variable
β€οΈ 
We love you too bro
LET'S GOOOOOO

hii


currently js tryna get used to being home if yk what i meann
i will 
What's next on the nyaux list
well
i need to relearn a lot of things
1st
2nd i need to finish devfs
and 3rd idk its hard to focus cause of one of ze meds im waiting to get taken off of
well we will see anyways how things go
- Uacpi update

oh yes 100%
- marketing, success, money
real 
- monopoly on the OS market
yooo nyaux welcome back :β)
:^)
year of the nyaux desktop
nah nah, nyaux is gonna corner every market segment
not just the year of the nyaux desktop
but the year of the nyaux laptop, the nyaux tablet, the nyaux phone, the nyaux smart watch, the nyaux alarm clock, the nyaux thermostat, the nyaux smart tv, and finally, the nyaux server

oh yeah I forgot, also the nyaux game console
the Switch 2, Xbox One.5, and PS6, will all be running nyaux
when can i eat nyaux branded food
devfs is finished?
i thought it wasnt but it seems like past me wrote all the code for me
@kind root any breaking changes with uacpi?
the one in nyaux vs the one rn
probs isnt tested
It has been WAY too long
but past me wrote pretty much everything
this is not epic
nvm
changes are not needed
compiles just fine
does it link though?
maybe your commit wasn't that old
IIRC kernel API changed in uACPI 2.0
seems not??
for me at least
maybe i was on a bleeding edge branch idfk
but it ran fine no changes required
There was also discussion about C standard library things that uACPI needs (e.g. <string.h> stuff), it's also possible that some details were changed there.
it seems that nyaux is not affected
Very cool
oh i see why
im on
yes
latest commit
:)
π
π
everything is commited
we are SO BACK π₯
indeed we are
im ngl i might just contribute to nyaux instead of trying to make my own shit
i never succeed lol
it does actually
i know i just read the code
but they work 96% of the time β’οΈ
wtf
basically by default uacpi now defaults to expecting the host to implement mem{cmp,move,cpy} etc
yea i do
yes

i wanna make a kind of debug tool thing for the kernel
like
u can list everything from page mappings to
current threads running to
printing whats mounted on the vfs and et
c
I can sense a kernel terminal
if strcmp("ls") print("file.txt") 
debug shell done
look at my code
its actually
decent this time
void rsh()
{
char buf[256];
int idx = 0;
kprintf("(rsh): ");
inb(0x3F8);
while (true)
{
if (serial_data_ready())
{
char got = (char)inb(0x3F8);
if (got == 127 && idx > 0)
{
kprintf("\b \b");
buf[idx] = '\0';
idx--;
}
else if (got == '\r')
{
kprintf("\r\n");
buf[idx] = '\0';
for (int i = 0; i != 4; i++)
{
if (strcmp(buf, cmds[i]) == 0)
{
switch (i)
{
case 0: goto t; break;
default:
kprintf("commands to do are stubs:c\r\n");
kprintf("(rsh): ");
goto r;
break;
}
}
}
kprintf("not a valid command\r\n");
kprintf("(rsh): ");
r:
idx = 0;
buf[idx] = '\0';
// exit_thread();
// break;
}
else if (got == 127)
{
}
else
{
buf[idx] = got;
kprintf("%c", got);
idx++;
}
}
}
t:
// exit_thread();
}
too pro
lets fucking go

A shell for debugging your kernel?
I thought everyone was just using QEMU + GDB
how do you debug on real hardware then
Fair enough actually
or dump kernel structures
Yeah because otherwise you need a hardware debugger
Which does exist but it harder to set up and usually requires a pricy attachment
You can debug via gdb over serial too
But the kernel knows more about itself than gdb so it can print useful info
depends what hardware too
wouldnt be surprised if most laptops dont have a way to debug on hardware properly lol
Fortunately devkits do tend to have that 
turn it into a kernel debugger
and make your host connect to it over serial
nyauxdb when
id rather not for now
its just nice to be able to print mappings
when needed ig
and other stuff
whats next for nyaux was updating uacpi but thats done
i feel so tired
i saw
its fine my bad
do you need a new goal possibly?
if you want you could pick yourself a simple goal to achive in nyaux
i just feel like empty cause depression no moticvation to even touch my computer, but
im trying my hardest
if you want motivation you need a goal
pick something simple and start moving towards it, but don't pressure yourself
thanks ik what u mean
the goal isnt the issue
its just the depression is like an anchor im attached to
hard to do much
then try something you know you will enjoy, sorry if this seems too clichΓ©. I remember a cgp grey video from the pandemic era i think. he says mental and physical health affect each other and it's always easier to improve your physical health which will get the ball rolling to start improving you mentally
I can link to the video if you want, he does a better explanation than me
the thing is
nothing brings me joy anymore
if u get me
like ive tried everything
i just feel nothing but depression
its why i jumped into that river from that bridge
i feel hopeless
its okay tho im happy that yall are really supportive to me and im just hoping tuesday they change my meds to make me hopefully feel smt
improving physical health needs that ball rolling already
dont do anything stupid and dont do the river jump again π₯Ί π«
i wont
well imo it's easier to force yourself to walk a few miles or go to the gym even if you don't think you'll enjoy it but idk
not really
like nixstrap man said
not for me
YMMV, these stuff are always personal
who is nixstrap man
idk fucking rainbow emoji
sanana lol
lol electrode no need to defend me
sorry i just thought sending that would also be slightly funny
it slightly is
honestly idc unless I get corrected
idc unless it has a bad intent
Both 
@surreal path update us often, ok?
I don't think anyone here has a bad intent
gdbserver 
no tmpfs
tmpfs as in ramfs?
yea
mhm!
What filesystems do you plan to support?
ext2 100%
Makes sense
BadgerOS already supports FAT (but will get ext2)
At this point it's mainly there to allow some kind of self-update in the future but originally it was because FAT is more widely supported.
ISO9660 (the CD-rom one) is also a potential one because of installation CD memes
unless tmpfs is made in a french town named tmpfs (supports configurable options) it's just sparkling ramfs
Anyway, just giving you some ideas :3 nice to see some Nyaux progress
thanks :3
dev only has one device lmao
/dev/meow?
To be fair, BadgerOS doesn't even have a devfs yet so I'm in no place to criticize :P
yippee
hashbrown
π₯
-fsanitize=address
letsgo

fds are implemented
were tested in userspace, untested too much in kernel space with the modifications i made to the hashmap.c to support my sized free function
but
it should work and its per process as ud expect
Bash
Or dooom
fpu saving and storing
Yes
it is one of my goals
Its just xsave and xrstor etc
i can work on it i suppose
you need to check what's supported with cpuid
okay
Blindly assume avx512
mhm
just for fun
ill reinit the terminal setting the canvas as the bg
as well as a new font
use this and draw emojis (sixels) https://github.com/ilobilo/flanterm
Cant believe its not upstreamed yet
NyauxMake incoming
Nmake
real
nake?
bug 
πͺ² bug
we have a new bug atm kinda stuck but its good
im waiting til 6am so i can go buy smt to eat
Am I seeing C++ files? 
that's was nyaux omitting the filename_prefix field of the tar entries
that file belongs somewhere in /usr/include/c++/...
no it's illusion
Did he tar his entire Linux source tree
no, he tar'd the sysroot he built
ohh lol
@thorn bramble its dying here
It's a terminal thing that uses 6 bits of each byte to set 6 pixels in the terminal. I don't recall whether it goes horizontal or vertical but it allows for 2-color bitmap graphics in a terminal emulator
thats so cool
so true tho
i feel like that image represents my kernel 101%
none existant rn 
so
with xsave and xrstor they store and save fpu state
im reading the sdm but im failing to understand how exactly to use the instructions
what am i supposed to do as a kernel for the cpu
etc etc
enable the desired floating point extensions, allocate a buffer per thread to save and restore the state, on every user context switch: save and restore
if you dont care about avx (256bit+ regs), you can use fxsave/fxrestore instructions, which take a fixed 512 byte buffer.
For xsave and friends, there's a new control register, xcr0 (extreme control register 0), that determines which extra bits of state are enabled. So there's a bits for enabling fpu regs, xmm/ymm/zmm regs (if supported) and some other state that you may care about. You set the bits you want to save/restore, and then do your save/restore op.
The size of the buffer needed depends on what state is enabled in xcr0 at that time, and a bitfield you pass to the xsave via a gpr. As for getting the size, check cpuid leaf 0xD. It'll give you 2 values: one is the size if everything in xcr0 is enabled, the other is the size for whats currently enabled.
If you want to do lazy switching of the extended state, there's cr0.TS which generates an #NM exception when set and someone tries to access any extended state. So you can catch that, switch the state, then clear the bit until you switch threads.
I voted for nyaux
letsgooo
thank you sm
where is the diagram of xcr0 in the sdm
i cannot find it
thanks god
based
okay ive inited the fpu
now do i need to check on ctx switch if im coming back and coming from userspace and if so run fpu save and fpu store
and
actually i wont worry about this JUST yet
the things for fpu is there, whenever im gonna go straight for userspace i shall remember to ask questions in relation with scheduling and fpu save and store
just steal it from proxima 
lol
funny
Very nice, have you seen what BadgerOS does on Kernel panic?
what does it do
This: #1153085124959809616 message
It's also inspired by obos iirc
Oh it was actually ilobilix where I got the idea
Anyway yes I agree
im trying to put a file in the tar bro
jinx hates me
hello???
its there
the sysroot doesnt change no matter what
i put in base files it doesnt care
./jinx rebuild base-files solved that
IT WORKED
loading a sixel from my vfs works
π
π
π
no dw nothing is wrong :3
nice, thats cool

itll be alright π₯Ί
and how tf am i supposed to have syscalls without userspace and how tf am i supposed to have userspace without preparring a user thread with everything the sysv abi requires AND loading an elf

dw i prob had the same experience like last month
hurts when they put it in
ah
last time i had a blood test was a couple months ago i think
this is especially something i need to think about
syscalls without a userspace
not a thing, syscalls refer to when you change cpu permission/protection levels
why do you need syscalls without userspace
i cant test them
without userspace
i mean like
the syscall instruction
and like yk what i mean
actual syscalls
for testing purposesβ’οΈ you could just have a piece of asm in your kernel that you enter to in usermode
spin up a really simple ring 3 thread or something to test it with
you dont need all of sys v abi
loading a ELF is also actually quite simple
you don't even need an elf, simple flat binary will do the job
for testing u can just memcpy kernel code to userspace
this will work fine
just make a stub function
anyone got ze bytes of some asm code that does a syscall or smt
anyone wanna post ze raw bytes 
what kind of syscalls do you have
why not just write it yourself in an asm file lol
you need one first
ik
do int 0x80 or something
oh yeah fair
first time?
i do that shit more often than i pee at this point
no but it hurts every time

when they start sucking in my vein
i hate that feeling sm
yep
nahhh thats crazy
for me its like absolute torture
ur hella freaky ig lol
ik what u mean
i don't go out of my way to bleed of course
but like, sometimes i scratch too hard and i start bleeding
i kinda like the feeling
and getting blood drawn is kinda the same
i cut my lip a lot, i like the pain and the blood ig from the lip but needles are a no for me
bleeding and blood drawn is like completely different for me
ik what u mean thoo

i realised i hadn't starred this yet for some reason
bru
same lol
star this NOW
i have now stared it π₯Ί
number go up, dopamine go up funny
i forgor, i probably had it starred but on old account
yes i did
you having dopamine is good π₯Ί
instant shamless plug
done

nah ill load the elf myself
ill impl syscalls myself just after bloods 
KBELF has both x86 and RISC-V support and it supports dynamic linking
itll be okie π₯Ί
take care of yourself and your body pls π«
i will
sounds ominous
they are gonna take 2 VILES bro
2 WHOLE 15 ml bottles bro
you have 5 more litres
gonna guess they are probably measuring blood medication levels
yeae
we are close to 40 stars btw

nice 
We need more marketing so Nyaux can reach new audiences
yes, market to the whats a C
crowd

market to the whats a debugger crowd
how paging
how make operating system
post it on r/osdev and say it can run Linux, windows and macos programs
they'll believe it
real
lmao
wdym
nvm
im going to get my bloods drawn now
bye bye see yall later

gl
I still don't have everything sysv abi requires
Ideally you want to have vDSO 
you build it up one by one
memory mapped files with CoW support, then elf loader, then linker, then shared object manager, then running the elf
then syscalls
or something like that
1 vile is for the tests, other is for the vampire in the back room
It's a lot more fun when it's userspace that's loading the kernel 
i have everything in place for userspace
idk how to test syscalls now i finished the init and shit
modifications to my vmm too
it triple faults
@thorn bramble
but it got to like
the function
but executing it kills it
Every time I see someone else's discord server list I get a heart attack on their behalf
So many notifications
executing kernel code with cpl=3?
probs yea
just dies
idfk
Triple fault?
Have you tried adding -d int to QEMU to see what the interrupts and exceptions are?
i will
output @broken depot @thorn bramble
sorry i was eating cake
0xe -> page fault
CPL=3 but the RIP seems to be a kernel address
yes
i dont know how to test it any other way tbf
i dont wanna stick an elf loader in yet
You could make a very simple program and manually copy it into user R-X memory. With BadgerOS I literally started with a program that called the thread_yield syscall in a loop

bit 5 means fault in userspace
so ur accessing kernel code from userspace
either map memory as user for testing or get a proper userspace memory mapping
stack
or, well, it's writing to [something-8]
and something is 0
do u have a tss?
yes
you should set rsp0 in tss to a proper value
i.e a kernel stack pointer for going from user->kernel mode
okay
theres a new issue @thorn bramble but its hard to catch
it page faulted
it is mapped
what
a syscall

syscall instruction and a userspace program written in asm
it just does this lol
π π π π π
exactly
i'm not infy, but nice
dont forget that to do a 64-bit sysret (sysretq for gas), and the layout for the sysret descriptors in the GDT is a bit different to the syscall ones.
it should be: 32-bit user code, user data, 64-bit user code
Big
what why
huh
where
read operation
least overloaded browser UI
real
In Long Mode, userland CS will be loaded from STAR 63:48 + 16 and userland SS from STAR 63:48 + 8 on SYSRET. You may need to modify your GDT accordingly.
Just steal my layout 
oh
fun
yea selector is completely wrong
thats fun :)
holy shit
nyaux officially does more than Techflash OS
congrats (now I'm jealous)
turn that jealousy into doom running in userspace
lol
I wish
I haven't updated TFOS in ages
iirc it's still using Limine 5
lmfao
ancient
Last progress of any kind from 2023... yeah, pretty ancient https://discord.com/channels/440442961147199490/1081343665982672928
so still the same issueeven after swapping the descriptors for sysret
Birthday gift from the OSDev gods
real
Happy birthday btw
thanks zoe :3
:3
Happy bday π
yes
Happy bday
thanksss
Did u get any cool gifts
js cause no one gave
What about your parents
they didnt give
yes 
lol
money is a much better gift
didnt get
what about that card your sibling gave you :D
Should I fix that π€
yes
that was nice
What card?
from my baby sister
Like a gift card?
does the thing i drew count as a gift π₯Ί
yes
Happy Birthday mr nyauxmaster
Happy birthday ππ
thank youu
guess which dumbass forgot to set cpl 3 bits in a gdt entry and tried to debug an userspace issue for a whole day
oh wrong thread
all good
happy bday nyauxmaster!
happy day of birth celebrationπ§
You were born on this day. We must celebrate
syscalls and args work now
okay syscalls next whats next now hmmm
fuck symlinks yes
next is mmap
I need to implement that tbh
its from netbsd
yes
idk why you said or openbsd is my point
openbsd has it too
so
vfs bugs everywhere
i need a hashmap
the one i have in the kernel is shit
bcs i modified it to use sized frees
and kinda fucked it up ig
i need a different impl
node looking normal
test is corrupted
@thorn bramble
it dies even trying to USE test
its that fucked
well yeah ofc
ops points to code
which is obviously borked
pls find out how it gets the broken value of test
kk
printing everything lookup does
@thorn bramble it looks sane
it seems but
im still waiting til it finishes
i cant solve it
:(
:(
we figure out tmrw
yea hopefully
from when I looked at your allocator, you don't need sized frees
just don't handle page sized allocations from the same function
what

@surreal path btw I updated the flanterm fork. you can just copy over the files, no api is changed
yes
i need to check if its a vmm allocation or a slab allocation tho
how am i supposed to do that
without knowing the size


