#EvalynOS

1 messages · Page 14 of 1

hazy saddle
#

So like

#

That might be why?

#

I wonder if @cyan bison s computer has a ps/2 port and still hangs there

#

And it was differing bugs??

cyan bison
hazy saddle
#

Is that the one you tested it on and it failed?

#

Or was it the arrow lake machine

cyan bison
#

arrow lake machine

#

havent tested on my laptop yet

hazy saddle
#

Could you test it on both if you have a second

#

Preferably atleast the arrow lake one

cyan bison
#

then id have to reboot

hazy saddle
#

Because I want to support arrowlake hardware

hazy saddle
cyan bison
#

and like thatd be like really like annoying

hazy saddle
#

macOS chips are a bit diffrenter though so maybe

hazy saddle
cyan bison
#

i can try the patched one on one of my test subjects from haswell era

hazy saddle
#

Does OBOS use ps2 on that (arrowlake) machine?

hazy saddle
cyan bison
hazy saddle
cyan bison
#

hangs while tryna use the lapic

#

(x1apic)

hazy saddle
#

No x2apic driver

cyan bison
hazy saddle
#

Steal mine

cyan bison
#

im good trl

hazy saddle
#

No trust me it’s really good

#

(It’s not that good but it’s not bad lmfao)

cyan bison
hazy saddle
#

Before you sleep can you reboot and test it on arrow lake

#

Maybe I should make an ISO for extra prints on the fucking PS/2 code

#

Just to nail it done too

cyan bison
#

it's only ~20:00 rn

#

so im not sleeping for a few hours

hazy saddle
#

Wait I think I know why it’s fucking up maybe

#

Leme read the code

#

Errrm what the sigma

#

This could be hanging

#

Maybe

cyan bison
#

oh wow a polling loop... hanging

hazy saddle
hazy saddle
#

This would uhhh

#

Ermmm

#

Causebissues

#

I should add a timeout thing

#

So it can timeout

cyan bison
#

there should've always been one

hazy saddle
#

To be fair

#

I stole this ps/2 init code form a friend

cyan bison
#

i think depending on the chipset, inb on non existent io ports returns 0xff

hazy saddle
#

🥀

cyan bison
#

and this friend vibecoded it?

hazy saddle
#

Yeah 🥀

#

The code is super basic

cyan bison
#

then why is he a friend 🥀

hazy saddle
#

So idk how to redo it without copyright or whatever issues

hazy saddle
#

And I didn’t know at the time 🥀

cyan bison
hazy saddle
#

Honestly they sent me a lot NSFW before and I’ve been meaning to distance 🥀

#

And they use a bitmap allocator 🥀

#

And didn’t wana use mine

#

Better one

#

🥀

cyan bison
#

ah yeah bitmap allocators, very NSFW

cyan bison
hazy saddle
#

Yeahhhhh

cyan bison
#

that's concerning

hazy saddle
#

Very

#

I just feel bad

#

And I host part of there website

#

So like

cyan bison
hazy saddle
#

I just kinda stay away with a 10ft poll

hazy saddle
hazy saddle
#

Let me uhhh

#

Add the timeout

#

🥀

#

Il probably also change them to 50ms max

cyan bison
#

have i mentioned how much i hate xhci yet?

hazy saddle
#

🥀

hazy saddle
cyan bison
#

I FUCKING HATE XHCI

#

I FUCKING HATE XHCI

#

I FUCKING HATE XHCI

#

(limit reached before the bot mutes me)

hazy saddle
#

I can’t hear you

#

Say it louder

cyan bison
#

I FUCKING HATE XHCI

hazy saddle
#

What has XHCI done this time 🥀

cyan bison
#

xhci: port reset timed out

#

xhci: trb completed with code 0x4

#

(0x4 is usb transaction error, the most vague code in the entire spec)

#

if only i had never made the promise that i would try xhci then my life would be a lot better

hazy saddle
#

You know what the silver lining is of this shit

rotund furnace
hazy saddle
#

You can help others in the future

#

With this knowledge

#

And save others the pain

#

And even make a document on how to make an XHCI driver

#

That’s more simplified

cyan bison
#

but it costs money (i pirated it)

hazy saddle
hazy saddle
cyan bison
#

((libgen is a very sketchy website, i found out))

hazy saddle
#

this should fix that lil shit big

#

this may not work because keyboard

#

but it will finish most of it

peak cloak
#

ok last test lelelel

rotund furnace
#

> cat /bin/cat

hazy saddle
#

and if you want il make a special ISO to auto boot into badapple

#

mayb

peak cloak
#

mayb

hazy saddle
#

Il make that special one

hazy saddle
peak cloak
#

shows the stupid serial init thing

#

WHY DO YOU EVEN HAVE IT ITS USELESS nooo

hazy saddle
#

IT SHOULD BE DISABLED

peak cloak
#

"do you have serial port at blah blah blah"

hazy saddle
#

Did I give the wrong ISO

peak cloak
#

aint no way

hazy saddle
hazy saddle
#

Unless it reports as running under a hypervisor

#

Pls

#

Work

peak cloak
#

why u need serial so bad anyway thinkong

hazy saddle
#

It shouldn’t even be enabling seriel unless it’s on a goervusor

#

Hypervisor

#

Can you send me the full logs of the latest ISOS

peak cloak
#

make boot option --enable-serial or whatever

#

just do that

#

please

hazy saddle
#

I literally did that

hazy saddle
#

Look at zis

#

seriel=hv

#

It means only enable on hypervisor

#

Also it’s ps2 breaking it not serial 😭 @peak cloak

hazy saddle
#

@peak cloak you got the log

#

I’m going to sleep

peak cloak
#

a

#

oops

hazy saddle
#

Depending on log

#

Il try and patch

#

You gotta work with me here

peak cloak
#

give me a moment

hazy saddle
#

Or like uhh

#

Download me repo and fix yourself

#

💀

#

Because I’m sleepy

peak cloak
#

no i have my own crappy OS

#

contribute to it instead trl

#

/j

peak cloak
hazy saddle
#

Did you not do that one

#

Already

peak cloak
#

i think i did

#

ok so the latest one

hazy saddle
#

But I tried to do a fresh build

#

So uhhh

#

Also send logs

peak cloak
#

k

hazy saddle
#

And il make an extended logging version after

peak cloak
#

send logs as in

#

just screenshot

#

??

#

bro my mac also sleepy the screen just closes

hazy saddle
#

Photo

#

Just take a photo

peak cloak
#

SHOOT SCREEN WITH GUN

#

AUTOMATED RIFLE

#

AK 48

#

ITS AK 47 BUT BETTER

#

RUSSIA TECHONOLOLOLOGY

peak cloak
#

no keyboard

hazy saddle
#

What happend with the old ISO

hazy saddle
#

Or EHCI

#

Good thing our good chum @cyan bison is here right

peak cloak
hazy saddle
peak cloak
#

cool

#

i think im now the evalynos tester person 😔

#

lemme do 2006 macbook actually

hazy saddle
peak cloak
#

i dont think i have ever seen you do anything in kvass

#

anyways

#

behold the ultimate test

#

nothing that nobody complies with

#

macbook from 2006

hazy saddle
peak cloak
peak cloak
#

nothing happened

#

i think limine cooked itself

#

lol pain

hazy saddle
#

Was it limine

#

Or my kernel

peak cloak
#

limone

#

nothing is happening

hazy saddle
#

No limine screen?

peak cloak
#

no screen

#

not even black screen its just at the boot picker

hazy saddle
#

cc: mint?

peak cloak
hazy saddle
peak cloak
#

if you ping them over that crap it might just be a troll ping

#

do it trl

hazy saddle
#

I mean is it a troll?

peak cloak
#

idk

hazy saddle
#

It’s technically a bug with limine?

peak cloak
#

what are limine system requirements

hazy saddle
#

Limine works on BIOS

#

I’d presume it should work on that old of EFI

#

Is that UEFI

peak cloak
#

no thats just efi

hazy saddle
#

Or JUST efi

peak cloak
#

before it was uefi

hazy saddle
#

Damn

peak cloak
#

crap

#

no technicality

#

im gonna go boot from usb

#

somehow

#

theres no usb bios boot

#

trying again

hazy saddle
peak cloak
#

ngl i wish i had a powerbook

#

the aluminum g4 one

#

i can troll my parents with seemingly two identical laptops

hazy saddle
peak cloak
#

boot picker cd sharted itself

hazy saddle
#

Does limine not support EFI EFI?

peak cloak
hazy saddle
#

I wonder if it was spesific if it was between EFI/UEFI

peak cloak
#

hardware wise they are literally different things entirely

peak cloak
#

ok so i booted the 32 bit one

hazy saddle
#

Isn’t 32bit

peak cloak
#

whatever

#

i have another thing to share though

hazy saddle
#

It would fail to load

peak cloak
#

lol it death'd

hazy saddle
#

Well

#

It DOES SAY

#

It’s a bug

#

Right there

peak cloak
#

it say report upstream

hazy saddle
#

I mean this is your computer

#

And upstream is right here

peak cloak
#

nah

hazy saddle
#

So

peak cloak
#

they dont support it

hazy saddle
peak cloak
#

im not gonna be a total poopybutt over it

#

instead i will make it a selling point for kv- trl

hazy saddle
#

Is that Mac even 64bit

#

Because if not idgaf myself

peak cloak
#

it has a core 2 duo

#

but the EFI is 32 bit

hazy saddle
#

Is that 64 or 32bit

hazy saddle
peak cloak
#

because apple engineers were programming it with one hand probably

hazy saddle
#

I don’t think my ISO bundles the 32bit limine

#

Actually

peak cloak
peak cloak
hazy saddle
#

So how is it both booting and not?

peak cloak
#

🤷

#

you also ship the RISC V and AARCH64 efi's

peak cloak
#

they more resemble each other when opened but thats only the keyboard

hazy saddle
#

how many drugs u eat

peak cloak
#

it said all of them exist

hazy saddle
#

@peak cloak making the special version

#

i may tomorrow do a cli argument to have a set of KBD inputs to preplay

#

and | means enter

hazy saddle
#

its badapple

#

reversed

#

because how buffer work

#

try zis

#

Il probably have
kbdpreplay=+|badapple|+

#

Make the same as that

#

The pluses are the dilimeter of the sequence

#

and the bar means enter

#

But @peak cloak

#

This is now

#

Bad Apple

#

On Apple device

#

Get ready

rotund furnace
#

wait do apple devices just not have secure boot?

#

I just fucking wondered how I can boot your os on my laptop without disabling it

#

oh wait I think I have system integrity protection off

hazy saddle
#

They are just a lot more esoteric of hardware

rotund furnace
#

nah sip should block unsigned efi apps

#

difference is sip cannot be disabled on the mobile versions of macos (ios, ipados, watchos)

hazy saddle
rotund furnace
hazy saddle
#

@peak cloak how are you getting it to boot on the Mac?

#

Also did the special ISO work?

cyan bison
hollow crater
#

gummi has a working xhci btw so u can take a look there

#

charmos ftw

hazy saddle
#

I’m planning my XHCI stuff after my x11 port

#

Right now I’m trying to get a shell working in userspace

#

And then bash

#

And then maybe try and get job control in bash if that wouldn’t be toooo bad

#

And then it’s onto x11 and maybe dbus if it’s needed and then to get xfce or some other DE

#

Once I have that il start on XHCI and EHCI (no USB 1.1 if you need that just use ps/2 lmfao)

#

And then a TCP/IP stack

#

And maybe a hypervisor snuck in there

#

I know this is alot of work to do but it’s just high level goals

hollow crater
#

each of these could take a year from me separately 😭
aside from the shell one, and bash

hazy saddle
#

So it is gonna take a year

#

x11 is my New Year’s resolution

hollow crater
#

ig to me i would die happy if i can get to have a mlfq scheduler with smp by the end of the year trl

hazy saddle
#

(This does not include a DE to be clear)

hazy saddle
#

Once I have bash working

#

I’m going to do a full code cleanup

#

Inspect every nut and bolt

#

Fix all the naming

#

Get it to be perfect

#

Then it will be time to do SMP and fuck all that up

hollow crater
# hazy saddle Once I have bash working

fair
i wanna have smp before doing any userspace shit cuz im afraid i'll make fucked up decisions incompatible with it if i left it after having the base functionality

hazy saddle
hollow crater
hazy saddle
#

You just spawn a kernel thread and then have that jump into userspace

#

And then it’s exexuting yahooo

cyan bison
#

skill issue, i just start the user thread in user mode

hazy saddle
#

Make sure to allocate a diffrent CR3 thing and a big enough kernel stack because that thread stack will be doing system calls

hollow crater
hazy saddle
#

if you just port a little bit of mlibc

#

It won’t be that bad

#

POSIX really helps you make not stupid things

#

Though

#

I don’t listen to posix and I made a cursed abomination

#

But it somehow still runs doom

#

Lmfao

cyan bison
hazy saddle
#

But the mlibc glue is cursed as fuck

hollow crater
hazy saddle
#

And I have like 7 random fucking system calls it has to use

#

Because I diddnt posix them

#

Once my VFS is proper

#

I will be making the stuff posix

#

Like to get the frame buffer

#

You will MMAP the file

#

And to get the size info and shit

#

You will use IOCTLs

#

🥀

cyan bison
#

im sry but mmaping files is vmm not vfs

hazy saddle
#

My open() call cannot even see non tarFS files

#

So it is VFS work

#

Technically

#

Also it still has to use some of the VFS right

#

So MMAP can check where to map from

#

Etc

#

And IOCTLs

peak cloak
hazy saddle
#

My bad apple

#

The good Apple device

peak cloak
peak cloak
#

there's 2 efi boots though i pick the first one

#

that first one works fine

hazy saddle
#

Nice

peak cloak
#

macbooks have full uefi

hazy saddle
#

Should work

peak cloak
hazy saddle
#

This should auto play the keys needed

peak cloak
#

also test if pc speaker is there trl

peak cloak
peak cloak
hazy saddle
#

Uhhh @peak cloak

#

Did it ever work

peak cloak
#

oh

#

yeah

#

it did

#

forgot to send

#

bad apple works but no sound

hazy saddle
#

Can you send photo

peak cloak
hazy saddle
#

Okay well @peak cloak says the patch works

#

So when I get home il push this

#

Play game games

#

And then get started on the VFS rework

peak cloak
#

no it works though

#

crap i forgot the photo

hazy saddle
#

I really want a photo PSP1G_pspTrollar

peak cloak
#

brb

hazy saddle
#

I’m thinking for my driver servers I may have them be mostly bundled together

#

And written in c++

#

Like all my pcie drivers will be inside pcid

#

ACPI in acpid

#

Etc

#

And then they can talk internally easily

#

And they don’t need to go outbound IPC wise much

#

And it makes it so I have less servers

#

But internally they will all be separate threads for the most part

#

Seperated with C++ classes

#

A lot of the drivers i want many instances off too

#

So c++ works well and userspace

#

And the kernel space may have a few duplicate drivers for init shit until they startup

#

For like swirls

#

Serial

#

But then userpaace can take over and init all serial ports properly

#

And have ACPI to do it right etc

#

For keyboards and mouse I’d probably have inputd and then do zero copy IPC with shared pages for the buffers of inputs that that server can glob

#

@peak cloak what’s your opinion on this

#

Same for @rotund furnace

peak cloak
#

idk maybe

gentle void
#

okay so

#

if you do want to write drivers in userspace you need to think about how to handle interrupts

#

because you need to forward the interrupt handlers to the user process obviously

hazy saddle
#

I was gonna have them be a waitable FD

#

And then the ISR system will plug into that and set the FDs to awake for the schedular

#

Mainly I’m trying to get what I already have nice

#

Because my VFS is utter shit

#

I need to rework my heap a bit

#

Get my PMM to use buddy stuff

#

And get actual VMM working so I can locate virtual address space adddresses

#

Allocate*

#

And then I can actually get new features like that

#

Just napkin planing things right now because I can’t code atm

gentle void
#

also you will need IOMMU drivers

#

(fun)

#

the second a device can DMA any physical address it's over for your system

#

that kind of defeats the entire purpose of putting drivers in userspace :3

hazy saddle
#

What about systems without an IOMMU

#

Also my main point was to seperate complexity imo

cyan bison
#

panic("no iommu");

hazy saddle
#

And security separately

#

I would use capabilities somewhat so no random program can do this shit

gentle void
hazy saddle
gentle void
#

you can't support them safely

hazy saddle
#

Then can i support them dangerously

gentle void
#

actually this is a good point

#

thank you for this idea

#

i will be stealing your idea

#

:3

#

i had kernel modules before

#

but userspace drivers sound cooler

hazy saddle
gentle void
#

not exactly

#

in kernel mode the kernel can manage devices

#

If you let a user program map shit it will explode

hazy saddle
#

True

#

I mean the kernel can still manage it no

#

Somewhat atleast

#

And your gonna be trusting the drivers you make anyways similar to the kernel

#

And that’s only on non IOMMU devices

peak cloak
#

if its like a freelist then why

hazy saddle
peak cloak
#

the fart works already dont nuke it

hazy saddle
#

I need that for DMA

peak cloak
#

then allocate contiguous physical memory with your freelist trl

hazy saddle
#

That can fail

#

With a buddy allocator it’s really easy to get 2mb to 4kb pages and powers of two inbetween

peak cloak
hazy saddle
#

Buddy allocators automatically defragmenter themselves

peak cloak
#

oh

#

defragme-

#

yeah no i just cant understand buddy allocators

#

you do whatever

#

like literally i cant understand how the fart works

hazy saddle
peak cloak
hazy saddle
#

The freelist is stored in the free pages themselves

#

So when you XOR an address it points to the physical page

#

Which has the actual free list node

#

and then you have many ranks of free lists

#

And then to allocate you look through them and split as needed

#

And when freeing you XOR to check if you can merge blocks

#

And blocks are always paired

#

So it’s really easy

#

And just works

peak cloak
#

really easy they all said

peak cloak
hazy saddle
#

You use the pages themselves to store the information

peak cloak
#

no fricking crap sherlock

#

oh

hazy saddle
#

So you don’t even need a boot strap allocator for your initial free list pages

peak cloak
#

wait i literally asked it

#

oops pain

peak cloak
#

MAKE MY OWN

peak cloak
#

severe brain capacity deficiency

hazy saddle
#

The pages themselves that are free yeah

#

You just store the node in there

#

For the free list

#

And when you do phys addr XOR block size

peak cloak
#

k

hazy saddle
#

You get the buddy if that block

#

And that buddy also stores the freelist node

#

That you need to use to operate

#

Like to remove it or add etc

#

Or to check status

peak cloak
#

ok i think i understand

#

or not

#

a sec

hazy saddle
#

And then you just store a bunch of pointers to the heads on the BSS in C

#

And then when starting it you fill in all of the blocks the highest they go

#

And because the free blocks themselves describe themselves

#

And then when you give it out

#

You just zero it out

#

Because the metadata isn’t needed when it’s allocated

#

As it’s a free list

#

Not a not free and free list

#

And you can use PFNdb too

peak cloak
#

uhhhhhh

#

ok i think i figured it out

#

its a tree trl

hazy saddle
peak cloak
#

F

hazy saddle
#

It’s several free lists

#

One for each order

#

Like 4kb 8kb 16kb 32kb 64kb 128kb 256kb 512kb 1mb 2mb

peak cloak
#

mk

#

is there like an initial freelist

hazy saddle
#

@urban mulch maybe you can explain this better

hazy saddle
peak cloak
#

oh

hazy saddle
#

Because you use the free pages themselves

#

As the nodes

peak cloak
#

what do these freelists have in them

#

per order

#

like ik its a dumb question but like

hazy saddle
#

Like weather it’s buddy is allocated or not

#

And it has pointers to the next and previous

hazy saddle
#

And if you take an allocation of 4kb

#

And then take it’s address

#

And XOR it by 0x1000

#

You get the buddy

#

Because every page has a pair

#

A 2mb block becomes two 1mb blocks in the 1mb free list

#

And you keep splitting as you go down to the proper size

#

And when you free you check if the other block is free so you can merge it in the PFNdb

peak cloak
#

oh

hazy saddle
#

And then you delete the other block in the 1MB page

#

And add it to the 2mb block

urban mulch
#

Oh god is it buddy allocators again?

#

I have explained this one too many times already XD

peak cloak
urban mulch
#

Ok first things first do you know how a freelist allocator works?

#

@peak cloak

peak cloak
#

ive made one in the past

urban mulch
#

Okay, do you know what a PFNDB is?

peak cloak
#

database i presume

urban mulch
#

PFNDB is Page Frame Number DataBase. It is metadata about each page of accounted physical memory.

peak cloak
#

oh

urban mulch
#

You may have heard of struct page. A PFNDB is an array of those.

peak cloak
#

fair

peak cloak
#

is it like whether it can be accessed in usermode and other such crap or what

urban mulch
#

For the buddy allocator, there are two main important things:

  1. Whether the page is in use and if so, for what
  2. The order of the block to which the page belongs.
#

Usually you'll also have a reference count but this is not inherent to buddy allocators and we will be supposing it is not there.

#

A buddy allocator is effectively an array of freelist allocators.

cyan bison
#

pretty sure it also contains stuff about CoW

urban mulch
#

Each freelist within using blocks twice as large as the one below

peak cloak
urban mulch
#

The "order" of such a block describes how large it is. An order 0 block is one page large. Every order up, twice as large.
A block is PAGE_SIZE << block_order bytes large and aligned physically.

#

And here comes the neat trick: If a freelist for a smaller order doesn't have a block available, you split a higher-order block until you get one of the desired order. Splitting a block converts it into two blocks one order smaller.

#

When you free a block, you use the PFNDB to determine how large it is (unless you use sized frees) and find its buddy.

#

The buddy of such a block is found as follows:
e.g. order 0 block 0x4000-4fff has a buddy at 0x5000-0x5fff.

#

buddy_page_number = page_number ^ (1 << block_order) (where page_number is physical address divided by page size)

#

If you free a block and see that its buddy has the same order and is also free, you coalesce the blocks.

#

This is simply the opposite of splitting a block. since you know the address of the buddy, you can remove it from the correct order's freelist without having to search. Then you coalesce the blocks into one larger block, updating the PFNDB entry of every page in the block to reflect the new situation.

#

Repease coalescing checks until you can no longer coalesce, then add the result to the appropriate freelist.

peak cloak
#

a sec

peak cloak
#

the start of the block or something?

urban mulch
urban mulch
#

You do of course need memory to store the PFNDB too. Choose some arbitrary location in the immediately usable memory as the bootloader reports. This overhead is acceptable.

peak cloak
#

ight

hazy saddle
#

its easy enough to implement and uses the memory in a region its self for it

peak cloak
#

cinema

#

i have to implement a pmm soon im almost done with exiting my stupid bootloader creation

#

helped a lot ig

#

(i have 1% of the idea of whats going on instead of 0.5% trl)

hazy saddle
#

make a ppc port of limine

peak cloak
#

no

hazy saddle
#

yes why do you ask

peak cloak
#

mintsuki should do it im not porting limine

#

i dont want ai slop on MY architecture trl

#

(as in its easy to make a limine os)

#

(not in that limine is slop its not its fire)

#

(MAUHAHAHAHAHAHAHA)

#

honestly the documentation is utter poo

#

good trl

#

i should probably use limone when i port to the bunch of crap i have planned

peak cloak
peak cloak
#

i dont know anything about 64 bit powerpc yet

#

i dont want any imac g5 abuse though pain

hazy saddle
#

I hope it works

#

Email is a fucking bitch

peak cloak
#

oh no

#

what have you done

hazy saddle
#

And it’s public

peak cloak
#

the robits

hazy saddle
peak cloak
#

the chat gipities

peak cloak
hazy saddle
#

Be my guest

peak cloak
#

i thought this was for you only

hazy saddle
#

This is a public service

hazy saddle
peak cloak
#

make pull requests for os

peak cloak
hazy saddle
#

You can also have your own repos

#

I’m just doing a public service since I have the gear

#

Always good to have extra mirrors and shit

peak cloak
#

swear on your soul that you wont pull up my password and find where i live and post it on the dark web

hazy saddle
#

And to have a git server that’s not corpo owners

#

And one that actually preforms well

#

Unlike codeberg

peak cloak
hazy saddle
#

I’m no random stranger

peak cloak
#

unrandom unstranger

#

whenever mintsuki chooses to host limine on your server thats when codeberg will decide to go boom boom

peak cloak
#

also apparently codeberg is a non profit

peak cloak
hazy saddle
#

But they are never online

peak cloak
#

true trl

#

apparently codeberg's about page links to several other git hosting websites

#

sourcehut and other crap

#

im probably just gonna make a mirror on your crap and host kvass on codeberg probably

hazy saddle
#

And mirror to codeberg

peak cloak
hazy saddle
#

Im literally planning on hardware upgrades just for this

#

For my birthday I’m gonna get two 8tb hard drives

gentle void
peak cloak
#

3 gb of hard drive storage instead of 2

hazy saddle
#

Ddos who

#

Me?

#

Ehhh ddos me I don’t care

peak cloak
hazy saddle
#

I mean like

peak cloak
hazy saddle
#

I don’t think anyone is gonna ddos this anyways

#

It’s a dinky ass git server

#

Not some massive as target

peak cloak
#

put ddos prevention crap too

hazy saddle
peak cloak
hazy saddle
#

But yeah kvass always has a home my git server

peak cloak
hazy saddle
#

Oh also secret

peak cloak
hazy saddle
#

@rotund furnace Already has been beta testing this

peak cloak
#

WHAT OS

hazy saddle
#

Shhhhh

hazy saddle
#

But yeah @peak cloak

#

Why not fucking have kvass there

#

Don’t you want to support honest workers

#

Who cares about non profits

peak cloak
#

im willing to host kvass on literally any obscure git hoster that exists

#

github is literally unholy to me

peak cloak
#

you're the evil bad apple person

#

i do know you

#

probably

hazy saddle
peak cloak
#

maybe

#

anyways im not gonna say where i actually host kvass but im gonna mirror it to codeberg and your evil website

hazy saddle
#

you will see

#

YOU WILL ALL SEE

#

its not evil

peak cloak
#

ok fine

#

im gonna invest early

#

whenever i opensource it though

#

bitcoin became worth like 3 bazillion mario coins

hazy saddle
#

call it a day

#

oh btw @peak cloak

peak cloak
#

WJHAT

hazy saddle
#

its auto all rights reserved

#

so like feel free to pushit

peak cloak
#

wdym pushit

#

ok honestly lemme just enter the kernel like a sane person and then im gonna open sauce it

#

ok i return

hazy saddle
#

@peak cloak this should be enough CYA right PSP1G_pspTrollar

peak cloak
#

deeta integirty

#

cant even typo a typo

hazy saddle
#

there is no typo

peak cloak
hazy saddle
#

O

peak cloak
#

keep it trl

#

make the word italic and refuse to talk about it MUAHAHAHAHAHAHAH

hazy saddle
#

Sorry

#

Already fixed

peak cloak
#

crap my suggestion failed

#

anyways

hazy saddle
peak cloak
severe marlin
peak cloak
#

MUAHAHAHAHAHAHAHAHAH

#

also WHAT

severe marlin
#

there's a clip of him telling the news that "I did not shit myself at an engadine maccas in 1997"

severe marlin
#

I can neither confirm nor deny that

hazy saddle
hazy saddle
#

Thinking about my tmpFS how how ls works

#

How the fuck does LS work

#

As in the system calls / mlibc sysdeps

#

For tmpfs I’d probably store an inode that’s a directory that points to data blocks that have data

#

And then my data blocks would be a bunch of pages from the PMM for a file and will be contiguous if possible

#

But il have a seperate linked list to store those said pages

#

So for now it will be bad

#

But later it can grab 2mb blocks at a time

#

And then string those together

#

And then that will use the normal heapy heap

#

And il probably do an uhh slab of many orders

#

But il store free data right before the pointer I give

#

So a 512 byte order is more 528

#

But ehhh

#

Worth it imo

hazy saddle
#

And then I could do a hashmap for file names to “inodes” or whatever

#

Not sure exactly where to store the inode numbers or how to index them or whatever shit

#

String into hashmap = inode

#

And that’s a regular array that’s resizable or some shit

urban mulch
#

You don't want some internet rando asshat to join and upload 5TiB of illegal content

hazy saddle
urban mulch
#

Fore sure

#

I know I wouldn't want to risk letting internet randos access an effectively unmoderated service I host

hazy saddle
#

What’s the config thing for that again?

#

Or I can go look on that thing but the document is fucking ass

hazy saddle
#

Why can’t I have both

#

Make random people need an email before me approving them

#

Okay I can make them default restricted

#

“DEFAULT_USER_IS_RESTRICTED: false: Give new users restricted permissions by default.”

#

I cant find any info on what the fuck that means though

hazy saddle
#

@urban mulch what exactly do you propose I should do here

urban mulch
#

Just do MANUAL_CONFIRM then

soft snow
hazy saddle
#

Guess I can’t be fancy with email stuff

hazy saddle
hazy saddle
soft snow
hazy saddle
#

I thought I could open it up but they seem to have stupid config options

hazy saddle
#

Wait big brain idea @soft snow

#

For my tmpfs

#

Il just use ext2

#

And then il have a generic rambd

#

Which will be allocated with like 32mb of ram or some shit

#

Or based on the initramfs

#

Then that gets unloaded into the ext2

#

Which is ontop of ram block device

#

And it’s all 4kb blocks because paging or some shit

#

And then that same ext2 driver

#

Will work on everything else I may or may not need

#

And then I have a really solid filesystem

hazy saddle
#

welp time to do reading

soft snow
hazy saddle
soft snow
hazy saddle
#

i mean its smart no?

#

and the rambd can use a radix tree similar to paging tables

cyan bison
#

not exactly the most conventional initrd formatt

hazy saddle
#

and it kills two birds with one stone

#

and its readable and writeable

#

it also means i cant horrible fuck up designing a tmpfs

hazy saddle
#

Plus it means I could technically put any filesystem ontop of the other driver? So you could allocate tmpfs devices easy and then treat them exactly like a disk in userspace too

cyan bison
hazy saddle
#

And I need to be able to have ext2 drivers anyways later

hazy saddle
hazy saddle
#

makin a file to hold all macros

#

will replace them elsewhere as needed

urban mulch
#

This is a bad idea imo

#

It will break your separation of concerns

hazy saddle
#

my utils folder is the junk drawer of the kernel

urban mulch
#

You'll end up with a single file concerned with too many things not related to each other.

hazy saddle
urban mulch
#

You can already see it is wrong because you have both alignment helpers and logging in one file

hazy saddle
urban mulch
#

no, just put the macros in the header files that define the relevant things

#

So log macros in your log header files

hazy saddle
#

i dont have one yaaar

#

i could put the log ones in my stdio file

urban mulch
#

💀

hazy saddle
#

this is for misc macros lmao

#

and id be movin them properly later

#

when needed

hazy saddle
#

bug patched

#

and confirmed workin

#

let me validate and push this

#

this has the seriel + ps/2 + tsc patches

#

shit i need to update the readme

#

waow i fixed it

#

it properly says you need clang

rotund furnace
hazy saddle
#

should i fucking bundle a nix package config file

rotund furnace
#

Yes

#

Because nix is better

hazy saddle
rotund furnace
hazy saddle
rotund furnace
#

Ah then

hazy saddle
#

it just has to spin up compile GCC and the kernel and spit out an iso

#

so people who wana use the kernel can do it easily

#

and get like reproducable iso hashes

rotund furnace
#

download stuff = yes
Build kernel = very good
Run = very good
Lag = none
Build time = short
Bugs = no

#

There is config

hazy saddle
#

thank you for patches

#

can you also make my kernel = better than linux

#

pls

hazy saddle
#

@rotund furnace Can you also put the parameter
popularity = > windows
Pls

#

Thank you for patches

#

Really backs up the talk

hazy saddle
#

I’m getting side tracked PSP1G_pspTrollar

#

I’m making proper implementations of shit

#

Because that hex to u64 function is dumb and stupid

#

Making ones that are like

#

Properly C compliant mostly sorta not really

#

But like still better

hazy saddle
#

@rotund furnace the VMM rb tree stuff should work on any memory map right not just the one right

#

wana make sure im not high

#

where each CR3 has its own rbtree for its mappings for user processes

#

and my kernel ones all use the main one thatl just manager the upper part

hazy saddle
#

like every process should have the VMM instace stuff

rotund furnace
#

yeah

#

I do that

hazy saddle
#

and that also tracks allocations in general too? which makes freeing better

#

right?

rotund furnace
#

each address space has a vmm which has the rb tree root

hazy saddle
#

yes yes