#Astral

1 messages Β· Page 16 of 1

supple hatch
#

what do u have to say abt that

obsidian pivot
#

astral will be left in the dust

grand shadow
#

Astralbros its over billions must use nyaux

supple hatch
grand shadow
#

Same libgcc issue as before, the binutil thing didnt fix it

#

So I will look more into that configure recipe later

craggy tide
#

what libgcc issue?

grand shadow
# craggy tide what libgcc issue?

Its something about astral with gcc's configure script, it doesnt actually set ORIGINAL_AS_FOR_TARGET in gcc/as and so the libgcc build fails because of it

craggy tide
#

ah

supple hatch
#

no way

#

u are no longer cirno???

craggy tide
#

i was cirno

#

i am cirno, no more

lean kettle
#

where cirno

supple hatch
rugged kraken
#

Are those real ports or just a dummy/rewritten ver?

#

Openbox

sacred gyro
#

bruh's really necropinging from 10 months ago

#

and yes, those are really things he ported

grand shadow
#

These are from the old version from them to now its been like rewritten in most parts

rugged kraken
#

but yeah cool os

grand shadow
#

Ok Ive been procrastinating this for too long

#

I really need to get astral to compile gcc and then move on to the scheduler rewrite

grand shadow
#

screaming

#

yeah I have 0 motivation to work on this atm

obsidian pivot
#

Downfall of Astral

#

Obos will rise!

supple hatch
#

downfall of none, nyaux astral and obos will all rise 😎

#

take ur time mathew

regal stone
#

what abt mango :3

supple hatch
#

otherwise

#

not rlly

#

dw tho we all start somewhere !

regal stone
#

silly

supple hatch
#

post it on ur thread

#

then

#

lmao

regal stone
#

it is on my thread

#

ultra silly

regal stone
#

(/j)

supple hatch
#

i did that in a month

#

just letting u know

#

it was buggy af

#

sure

#

but i reached usermode in 1 month before

#

i believe in u

#

just like parappa would say

#

u gotta believe!

obsidian pivot
supple hatch
#

but again

#

I DID

crude agate
#

true

supple hatch
#

reach usermode

#

just take ur time with it @regal stone

#

and like

obsidian pivot
#

sir your kernel could not map memory with different prot bits

regal stone
supple hatch
#

try ur best

regal stone
#

a kernel is a kernel

obsidian pivot
#

wrong

regal stone
#

even if it does nothing

#

it’s still a kernel

crude agate
#

obos is a kernel

obsidian pivot
#

a kernel is actually a kernel

supple hatch
supple hatch
crude agate
#

nyaux is a"kernel"

supple hatch
regal stone
obsidian pivot
#

then you slapped the title "VMM" onto that

regal stone
#

still a kernel

supple hatch
#

yea pretty muchhh

obsidian pivot
#

rust is still shit no matter what

supple hatch
#

^

crude agate
#

just out of curiosity, if we removed pointers in C wouldn't we also have a very secure language?

obsidian pivot
#

no you'd have an unusable one

supple hatch
#

ah yes safety halfmemeright

regal stone
#

nothing would be possible

crude agate
regal stone
#

your int main() literally makes use of pointers

regal stone
crude agate
#

at one time I tried learning Rust, and I was like go fuck yourself

#

same for Go

obsidian pivot
#

the safest C program

crude agate
obsidian pivot
#

jk

#

there is no such thing

crude agate
#

main;

#

this actually compiles

#

and is very safe

supple hatch
#

just remove the ablity to even write code

#

safety

crude agate
crude agate
supple hatch
crude agate
#

how do you use pointers in rust with unsafe? Like what's the syntax

obsidian pivot
fleet osprey
#

but once you do - yes, yes it does, and I hate that

proper meteor
proper meteor
errant zephyr
#

and keep in mind that the semantics for it are crazy

#

:^)

proper meteor
#

nah it's fine

tribal dust
#

yea the semantics are not hard

#

it's basically stuff like "if you violate lifetimes it's UB"

#

"if you try to create a ptr from thin air it's UB"

#

"if you do pointer arithmetic that goes out of the bounds of the structure the original reference points to, it's UB"

#

it's sound to do lots of things with pointer arithmetic

#

but since what the pointer points to must be valid for the pointee type, it's easy to footgun yourself when doing pointer arithmetic

#

but thankfully there are helper macros like addr_of! and addr_of_mut!

obsidian pivot
analog berry
grand shadow
#

astral has fallen billions must use obos

#

I've been procrastinating poking at the gcc configure process to see wtf is going on

#

as in

#

I havent done that yet

craggy tide
#

billions must use nyaux

neon crane
#

billions must use boron whenever thats somewhat done...

prime juniper
#

Billions must use mana __ensure(β€œNot implemented!”);

analog berry
#

i wonder if theres ever going to be a hobby os project where the author wont eventually lose motivation

craggy tide
#

i find that it is hard to be motivated when working on any project with such a broad scope and little returns as osdev

grand shadow
#

yeah its just bursts of motivation

supple hatch
#

😎

supple hatch
#

sure its slower

#

but u wont burn out

#

like for me

#

i worked on the slab allocator today

#

now i will play val, if i feel extra motivated ill do part of the VMM

#

what motivates me is the fact that its MY own OS

#

and i can do whatever the hell i want to the poor cpu

#

make it explode?

#

yessir

#

😎

#

(idk if its possible but maybe it is)

#

idfk

#

thats the joys of osdev

#

to me at least

#

but i would understand how you feel

#

with college

#

just focus on college you can always work on astral some other time :)

supple hatch
inland cliff
proper meteor
grand shadow
# inland cliff Use clang

I dont build it nor do I want to, Im trying to build gcc in astral but due to configure memes the libgcc build fails

prime juniper
analog berry
#

we should all quit our jobs and work on managarm

inland cliff
obsidian pivot
#

Not build his os with gcc

inland cliff
#

I understand. The thing is many programs can be compiled with clang instead, so it could be an option for whatever gcc would be used for.

fervent fjord
#

gcc is much easier to get running

#

and much easier to port

inland cliff
#

What is easier on gcc?

gritty shore
#

llvm is HUGE

#

gcc is smaller

#

and easier to port

fervent fjord
#

this is one of the things you gotta get around to and do to actually realize

analog berry
#

well clang is one build for all targets

#

so thats nice

fervent fjord
#

if you dont mind having to port all of those targets straight up

inland cliff
#

But I don't have the background and experience to really know how it is like to port LLVM

#

Althought I could imagine if you port it once, you ported everything, so you can build anything on anything for anything, and if you add support for your OS, you'd be able to self-host and cross-compile.

#

And that would probably not only make it possible to compile C but also C++, Rust, and more

fervent fjord
#

gcc allows you to compile languages with its port, llvm just lets you use llvm utils, clang is a separate thing to port

#

so from the get go you gotta port two things, and that only gives you C/C++

#

while porting gcc gives you all the gcc languages because they share the part you have to port

#

and you have to port every arch independently, so the amount to port clang to all targets is the same as porting gcc to all targets

#

the thing of having all targets in a single executable is just what the user sees, every architecture has custom porting code inside

#

there is just no way around that

inland cliff
#

Hmmmm I see

grand shadow
#

@analog berry astral ran on my friends pretty old thinkpad and uacpi ran there too fine

#

Guess what was brooen

#

Broken

analog berry
#

Noooo lol

#

Not the ps2 driver

grand shadow
#

Im starting to think the ps/2 driver just isnt real

#

And I hallucinate things when trying to type

proper meteor
#

I also have this issue, ps/2 not working

analog berry
#

uPS2 will save u (at some point ℒ️ )

worthy crater
#

omg this looks awesome

#

with Xorg port

#

looking forward to more updates

worthy crater
#

@grand shadow are you thinking of porting Wine eventually?

regal stone
#

just take a go at porting PE

tribal dust
#

porting wine is a huge undertaking considering they implement wined3d and stuff as well

#

but it would be cool

carmine swallow
tribal dust
#

ah that's right

#

but still, wine probably expects a linux uapi

carmine swallow
#

astral has linux headers

#

and getting wine to work on managarm wasn't that much work

#

can't really know about astral for sure because managarm does implement some stuff that astral doesn't have like netlink

#

same goes for openjdk too

grand shadow
#

Repeat that like 10 times

#

Now Im retrying to compile gcc with a scheduler and device driver handling rewrite pending

worthy crater
#

Good luck with that

#

Everything you've made is still impressive, even if its a hobby OS it could be used as a serious one

#

At least back in the 90s it would have been considered quite usable

#

Maybe not in business but in home computing? Absolutely

analog berry
#

not with ps2 not working

tribal dust
#

ps2 not working is a feature not a bug

winged basin
neon crane
#

maybe that would work

worthy crater
charred sinew
grand shadow
#

nice catch

obsidian pivot
#

@grand shadow how many syscalls do you estimate astral has

analog berry
#

at least one

obsidian pivot
#

🀯

grand shadow
#

last I checked it was almost 100

grand shadow
obsidian pivot
#

cool

obsidian pivot
#

is it okay if I took over maintaining astral then add some backdoors to it

#

and a crypto miner

grand shadow
#

kernel level slot machine

grand shadow
#

Ive been a bit burnt out lately but I can feel my energy slowly coming back we might be back astralbros

obsidian pivot
#

Astral is dead nooo nooo nooo

supple hatch
#

rip

grand shadow
#

Astral was never alive, wake up sheeple

fleet grove
#

astral revive when

analog berry
#

after ups2 release

supple hatch
#

we have uhda

#

uacpi

#

ups2 now

#

ukernel ???

#

reallll

#

😎

grand shadow
#

Sorry I have been stuck in the depths of hell (juggling work, university and factorio space age)

analog berry
#

the astral ps/2 driver

obsidian pivot
#

Last commit 21d

#

It's over for astral

analog berry
#

more space for obos to take over meme

obsidian pivot
#

obos will have astral syscall layer

#

Ezpz

neon crane
#

obos should have lunix syscall layer

#

ez ports

fleet grove
analog berry
#

i guess nobody is a true osdever then

#

because every hobby osdev project is eventually abandoned

fleet grove
#

for me, i just get the itch to rewrite mine 100 times

analog berry
#

thats normal

fleet grove
#

hobby oses are very volatile

obsidian pivot
#

It didn't get abandoned

fleet grove
#

that's true

#

linux has only survived though because of its large number of contributors

#

most oses were closed source or proprietary at the time

#

it was just good timing

obsidian pivot
#

Obos will take over

analog berry
fleet grove
#

^

#

if it wern't for that, it would probably be yet another abandoned hobby project

#

it's the people around it that has kept it alive

#

most hobby projects don't have that kind of backing

#

not to say it can't happen, there are plenty of big projects here

#

but it doesn't happen often

obsidian pivot
#

obos is taking over guys

#

No doubt

analog berry
#

etc etc

analog berry
#

if it werent for them it would be dead

fleet grove
#

exactly

neon crane
#

yep

fleet grove
#

that doesn't make linux a bad kernel though

analog berry
#

nah

#

its just not a hobby or community project by any stretch is all

fleet grove
#

yep

grand shadow
obsidian pivot
fleet grove
#

idk man
i'm not a contributor

obsidian pivot
#

What was so special about linux

#

At the beginning

#

That made people from coorps start contribing to it

errant zephyr
#

nothing

#

it was at the right place at the right time to attract hobbyists

obsidian pivot
#

They just woke up and decided to?

#

O

errant zephyr
#

and it became the best supported free software option

fleet grove
obsidian pivot
fleet grove
#

right time right place situation

errant zephyr
fleet grove
#

and GNU Hurd wasn't going fucking anywhere, still really isn't tbh

analog berry
#

lol

errant zephyr
fleet grove
#

not to hate on microkernels, i love them, but it's always come off as bloated to me

errant zephyr
fleet grove
errant zephyr
#

yeah of course they have tons

#

but you can move stuff between the two

fleet grove
#

but that's fine, the problem with Herd is that everything was in userspace, so you had ipc and context switch delays

errant zephyr
#

mm, maybe

fleet grove
#

i believe NeXTStep had the same problem

#

i mean hell L4 literally exists because of Mach being slow

analog berry
#

common microkernel L

fleet grove
analog berry
#

yet to see one

fleet grove
#

fair enough

#

i think seL4 is the closest thing we have to a decent microkernel these days

errant zephyr
#

and the nintendo switch os is also a microkernel

analog berry
fleet grove
errant zephyr
#

both for security + isolation

analog berry
#

switch i know yeah

errant zephyr
#

its like a TPM but actually good

analog berry
#

switch os is not a fair example its kinda limited

fleet grove
#

bro tpm...

analog berry
#

ah

errant zephyr
#

and in a single chip

#

and also does other things

analog berry
#

but i guess microkernels can be good for niche use cases

fleet grove
#

they can

#

it just depends on what your needs are

fleet grove
winged basin
#

Although the system has yet to be tuned, current performance appears to be in line with 4.3BSD. Some early simplistic measures of virtual memory performance are encouraging. The MicroVAX II cost of touching newly allocated memory is less than 0.7 milliseconds per 1024 bytes of data (versus approximately 1.2 milliseconds for 4.3BSD).

fleet grove
#

interesting

#

seems that i was a little too critical with it

winged basin
#

it is popular to dislike but it really did invent a lot of what's now modern and accepted practice in kernels

#

even the tlb shootdown

fleet grove
#

oh seriously? i had no idea man

winged basin
#

the vm object concept also

fleet grove
#

interesting

#

i mean i never hated mach tbh, i just never thought it was fast

errant zephyr
#

uh

#

was 4.3BSD the new/modern/fast one at the time

winged basin
#

and they were so impressed by mach that they imported its vmm for 4.4bsd

warped plinth
#

mathewnd rn

#

/lh

eager copper
#

ksp too I'd saychad

neon crane
prime juniper
obsidian pivot
#

at this point it's not even a joke

#

astral is no more

#

with Nyaux replacing it, ofc

grand shadow
#

I got a brain worm when I was building my factory in gleba and now I can only think of the factory

supple hatch
hearty fulcrum
analog berry
#

i have it planned, its real yeah

#

im not going to work on it at the same time as uacpi, so once uacpi is finished i might start that

hearty fulcrum
#

what do you think about a common kernel api for all u* projects?

analog berry
#

yeah this will be a thing

craggy tide
#

nothing ever happens

hearty fulcrum
grand shadow
#

Nothing ever happens

#

I swear I gotta go back to working on this 😭 I got so close to having gcc compile

#

Local man stuck on gleba eating nothing but jelly for 10 years, what happens next will shock you

proper meteor
#

Astral running Minecraft when

hearty fulcrum
#

but everyone knows nothing ever happens

charred sinew
obsidian pivot
#

Since there has been confusion that Nyaux will replace Astral, it will not for another couple hundred years

#

#1230349543623757845 message

fleet osprey
#

> See new post on the Astral thread
> Looks inside
> No new progress
> death

analog berry
#

gotta wait for nyaux to catch up and replace

analog berry
#

testing new uACPI on astral

#

350k ops average per second, not bad at all

#

no kvm is a bit slower

grand shadow
#

Real

obsidian pivot
#

Alas, we have lost him

grand shadow
#

I might do something this weekend no promises

robust geyser
#

we might be back..? pepepray

analog berry
#

uacpi resync with master will reignite the astral flame

#

it must right

grand shadow
#

I actually got as far as opening it up and preparing to open the gcc configure script to see whats up

#

but then factorio finished loading and everything fell apart halfmemeright

#

some of the things I have on my backlog are like pm timer, rewrite scheduler redo device driver handling and oither things

sacred gyro
#

some of my projects tend to be
"TODO: everything”

grand shadow
#

hell yeah merged ty

#

first commit in a month

#

(wasnt even by me)

analog berry
#

lol

crude agate
#

can

#

you

#

send .iso file pls

#

my ethernet is slow so git download is 200KB/s

#

and

obsidian pivot
carmine swallow
#

though to be fair if you have so garbage internet then downloading an iso is going to take a long time too lol

grand shadow
#

Pick your poison

#

(building from source is broken anyways

#

((will be fixed soonℒ️

fleet osprey
grand shadow
#

Soon as in its already like 20% done but I got distracted

obsidian pivot
analog berry
grand shadow
#

So Im going to have to do the tedious job of updating every jinx recipe

#

(only for mint to change how its done again in like 3 months

analog berry
#

classic

supple hatch
#

mathew deals with mint shanngains

#

electric boogoloo

grand shadow
#

Im slowly slogging through updating all the jinx recipes

#

Jfc this is boring

#

Very annoying but needed work

#

At least mint will be happy I wont be 2 versions behind

fleet osprey
#

πŸŽ‰

#

actual things going on w/ Astral

#

we're so back

grand shadow
#

Yeahh

craggy tide
#

we're so back

analog berry
#

Inb4 this is the only astral commit for the next month

grand shadow
#

Hopefully not

supple hatch
#

mathew we back???

#

astral is back????

grand shadow
#

I want to get gcc to build finally and then go on to do actually important stuff like rewriting the scheduler and device handling

supple hatch
#

mathew are we back

grand shadow
supple hatch
#

dies

analog berry
#

Just add gcc support

grand shadow
#

ughhh build-all and sysroot being removed messed my makefile up

grand shadow
#

why does apt keep returning 503s on the container

#

so annoying

#

even on a browser the links dont work

#

@craggy tide do you ever get 503s while downloading imagedeps

craggy tide
#

yes

#

it's the debian mirror being ass between yesterday and today

#

Gloire CI failed the past 2 days for the same reason

#

i hope they sort it out

grand shadow
#

Damn

craggy tide
#

the alternative is that i'll have to purchase a VPS and mirror the Jinx snapshots myself

obsidian pivot
#

reminded me to update me packages

grand shadow
#

I have a vps but it does t yave a lot

obsidian pivot
grand shadow
#

donst

#

aaaa

obsidian pivot
#

doesn't

#

?

craggy tide
grand shadow
#

yeah I wouldnt have enough rip

craggy tide
#

actually more than that

#

probably in the 100s because we need it for multiple architectures

#

like 10 of them

grand shadow
#

finally done with all the packages

#

now doing another full clean build to make sure

warped plinth
#

LET'S FUCKING GOOOOOOO

grand shadow
#

alright I can finally get back to debugging why the gcc/gcc configure script fails to find as in astral

#

inb4 missing which

grand shadow
#

its been a whil

#

e

#

I wonder if this is it

fleet osprey
#

wha... have you gone this entire time without /bin/bash?

#

I'm shocked

obsidian pivot
#

Smh astral doesn't have bash /j

analog berry
#

astral does have bash

#

and it runs it by default

#

just not at this path i guess

fleet osprey
#

yeah, just not a /bin symlink I guess

grand shadow
#

I guess some configure scripts detect that its not working and use grep -e instead

gritty shore
#

:(

analog berry
#

mathewnd dont u have friends that mail u stuff

grand shadow
#

you could have someone ssh into it with another user and send you mail

analog berry
#

can u send mail from your pc into the astral vm?

grand shadow
#

I have no idea how the unix mail stuff works

#

gwahh nothing feels better than diggin ten of thousands of lines deep in the gcc/gcc configure script

#

okok

#

I think

#

it might be something with test -x not working

#

DEFAULT_ASSEMBLER is empty and test -x says its good

#

no thats working

#

test -x with an empty argument gives 0

#

hmm

grand shadow
grand shadow
#

nvm I'm dumb

#

test -x -> 0
test -x "" -> 1

#

test -x "" -> 0 in astral

#

which is wrong and bad and stupid

analog berry
#

Mlibc skill issue?

grand shadow
#

probably astral skill issue

#

I need to see wtf test -x "" is doing

#

probably just

#

calling access() or something

#

access X_OK

#

or whatever the flag is

analog berry
#

That is the flag

grand shadow
#

ok yeah astral skill issue

#

vfs_lookup with an empty path returns the reference node

#

I forgor why I do that

#

or if its even something I intended

analog berry
#

What's a reference node

obsidian pivot
#

if all breaks then bad

grand shadow
obsidian pivot
#

if the bug gets fixed, keep the change

analog berry
#

So a workdir?

grand shadow
#

kinda yeah, like the path is relative to

obsidian pivot
#

if nothing happens, revert the change

analog berry
#

Well he doesnt have tests soooo

#

But yeah sounds wrong

grand shadow
#

I mean if you want to look up literally nothing then you should also get nothing

#

it makes sense lol

#

I should fix this

analog berry
#

if path == null or '\0' einval

grand shadow
#

ENOENT probably

gritty shore
#

is there a posix test suite even

#

would be cool

analog berry
#

Or I guess depends on what POSIX says

analog berry
obsidian pivot
#

just return success and go on with your life

analog berry
#

There's a paid Unix conformance test suite too

gritty shore
#

yeah but like

#

free

#

and open source

analog berry
#

Good question

#

Probably

analog berry
#

Oh well

grand shadow
#

AT_EMPTY_PATH for some functions

#

but like

#

that seems to be a linux extension

#

which bleh

#

astral is my kernel and thus I decide that I dont want to implement this linux extension, too bad

analog berry
#

Me when ill have to implement that extension for my kernel

grand shadow
#

doing the build again

#

time to see if that fixed it

#

ASTRALBROS, WE EATING GOOD TONIGHT

#

ITS FIXED

fleet osprey
#

Amazing

grand shadow
#

alright hopefully now it should pass the libgcc build and die somewhere else

fleet osprey
#

maybe you'll be lucky it'll not die at all meme

grand shadow
#

unlikely

grand shadow
#

linking cc1

warped plinth
#

:0!

#

any update?

dim arrow
prime juniper
#

Nice work

robust geyser
grand shadow
analog berry
#

the uacpi benchmark doesnt lie

grand shadow
analog berry
#

allocator speed and stuff like memcpy

grand shadow
#

So just buy a better cpu meme

grand shadow
analog berry
#

all of who

grand shadow
analog berry
#

nah qookie did

#

but its mostly consistent between different pcs

#

no huge difference

grand shadow
#

How did everyone go

analog berry
#

managarm does 1.5M, keyronex with all optimizations is close to that, pmos (the microkernel) gets about 500K, obos does 20k, nyaux does 150/s

grand shadow
#

Damn my allocator sucks then

proper meteor
analog berry
#

yup

grand shadow
#

@analog berry how do you enable the benchmark (or is it enabled bt default)

analog berry
#

its not a benchmark really lol, its just the log output

#

X ops in Xms

#

it prints out during init

grand shadow
#

Ohh

#

been working through the night and its linking libstdc++ now

#

so I assume it has passed libgcc

#

this probabbly wouldve been quite a bit faster if I did make with more jobs but my scheduler still sucks

gritty shore
#

I'd say allocations maybe?

grand shadow
#

if I had to guess which part of the kernel makes it slow its probably the vmm since its just a linked list

gritty shore
#

I shall beat you all

#

Eventually

#

When I port uacpi

hearty fulcrum
#

so just use rep movsb

gritty shore
#

I think everyone on that list uses rep movsb

hearty fulcrum
#

I get 500k but I believe my physical allocator is slow

gritty shore
#

I think mine should be decently fast

#

Probably close to keyronex

#

Or managarm

#

since I use managarm's slab allocator

hearty fulcrum
#

me too

grand shadow
#

booooring

gritty shore
#

I'm in the process of making a better one

grand shadow
#

I think the biggest issue with mine is that the vmm sucks

#

and all my kernel allocations go through it

grand shadow
#

wth is a libstdc++convenience

wild marsh
proper meteor
grand shadow
proper meteor
grand shadow
#

the biggest issue with it is that it sucks for smp which means most of the -j2 benefits would be i/o

grand shadow
#

alright its going

#

it did libssp and its doing some math library now

#

did it

#

did it work

#

DID GCC FUICKIGNG BUILD

supple hatch
#

OMG

grand shadow
#

I'm syncing and creating a copy of the hard disk[

supple hatch
#

YOOOO

#

MATHEW LETS GOOO

grand shadow
#

make installing

winged basin
#

we pray for a successful hello world

analog berry
grand shadow
#

my i/o is still super damn slow

grand shadow
analog berry
grand shadow
#

yup

analog berry
#

Any ideas why

fleet osprey
analog berry
#

Install is probably easier to debug than compilation

fleet osprey
#

no way I was right that it built, but now it failed to install

#

so close yet so far

wild marsh
analog berry
#

Some bullshit step with docs fails

fleet osprey
#

I predicted that it would fully work

analog berry
#

Ah

wild marsh
#

inb4 genhooks is a perl program and it's gonna be a massive pain

grand shadow
#

its c I think

#

but I dont have texinfo

#

so maybe its that?

gritty shore
prime juniper
prime juniper
prime juniper
gritty shore
#

it's probs gonna be pretty kernel specific

#

I'm just planning on a multithreaded slab allocator basically

#

with per-cpu object caches

analog berry
#

But we might see reactos soonish

gritty shore
#

what about in userspace?

#

you have tests

analog berry
#

Asan + ubsan gets me to 40k/s

#

Haven't tried without

prime juniper
#

Ah yeah I thought this was just a testcase one can run

#

Unlucky

analog berry
#

But my test runner is built for consistency verification and not speed

#

So it does extra stuff thats unneeded

analog berry
prime juniper
#

Lol

analog berry
#

But I think its similar on real hw

#

As in the rate doesnt change all that much

grand shadow
#

guh I have no idea

#

it dies in some c program that the build system creates

grand shadow
#

ahhh fuck it I'll just comment that out

#

just wanna see if this will work

#

next time I'll disable docs

analog berry
#

What does it even do

grand shadow
#

I have no idea

analog berry
#

Looks like shitty scripts in c I would write when I barely knew c to practice

#

With garbage code style too

gritty shore
#

average gnu build system

proper meteor
grand shadow
#

aaaasldosafkdaskfsdagjiosdgokjdsaigjsdakpvskodpsvksaovijs

fleet osprey
#

YOOOOO πŸ”₯

grand shadow
#

one more step towards full self hosting done

robust geyser
#

holy fuck

#

gj!!

#

astral is so back

analog berry
#

daaamn

grand shadow
#

yeahhh

#

I think astral is the first hobby os to actually pull this off

fleet osprey
#

but still no /proc/meminfo or /proc/cpuinfo for neofetch meme

warped plinth
#

LETS FUCKING GOOOOOOOOOOOOOOOOOOOOOOOOOO

analog berry
#

very big achievement

craggy tide
#

damn very nice

#

next build llvm :^)

#

actually, that may be easier to do

#

since the build system is just cmake, not nearly as scuffed as autohell+crust unlike gcc

tawny oak
grand shadow
#

now I have two paths

#

scheduler or devices

#

I will have to do both in the end so

#

hm

obsidian pivot
proper meteor
grand shadow
#

yeah true

#

last thing I was doing was trying to calculate run and interruptible sleep time

analog berry
#

or do u have to port something else for that

flat copper
#

jinx ig

grand shadow
grand shadow
analog berry
#

can produce an iso of itself from scratch

grand shadow
#

Never tried compiling mlibc or some other packages so cant really be sure

#

Also missing xorriso for that

#

But the kernel compiles at least lol

analog berry
#

xorriso is probably easy to port

#

i mean if u compiled gcc just fine i doubt mlibc would be a problem

#

but i guess jinx is the real blocker

grand shadow
#

Jinx isnt exactly needed if I unshit the kernel build so

grand shadow
#

starting next week I will be free from the shackles of oppression (university) and will have a few more hours of free time every day so if I dont spend that time playing cogmind or something I will spend it on astral

#

banger game btw got my first win yesterday after 90 hours

analog berry
#

mathewnd try not to get addicted to random games impossible challenge

obsidian pivot
#

Next addiction is block blast

prime juniper
#

Shouldn’t be too bad

fleet osprey
grand shadow
#

so I wanna add serial support

#

for more tty diversity and something I wanted to do

#

is it always guaranteed to exist something at 0x3f8 or is there any way I can check for it? acpi maybe?

fleet osprey
#

I know that at least on legacy BIOS it's dumped in the BDA somewhere, I used it
there's probably some way to check via ACPI but I never got far enouh into my OS to figure that out

grand shadow
#

bet

#

also dang uacpi work wait on astral just unconditionally sleeps 100 ms for every work_await

#

@analog berry on startup how many times is uacpi_kernel_wait_for_event or uacpi_kernel_acquire_mutex with a timeout called

#

or work_await

grand shadow
#

ah

analog berry
#

depends on aml ofc

grand shadow
#

I'm trying to figure out why its so damn slow

#

its probably the vmm

supple hatch
#

how fast

#

does astral load uacpi

grand shadow
#

200k/s on my computer

#

which tbf isnt that good

#

but still

supple hatch
#

oh freak u

#

you with your

#

1137 ops

#

200k ops*

grand shadow
#

infy gets like 350k/s on his computer

#

@analog berry whats your cpu

#

I wann cope with my bad design decisions

supple hatch
#

oh on kvm

#

we get 100k ops

#

not bad

#

SO CLOSE TO BEATING ASTRAL

#

😑

analog berry
grand shadow
#

someone with the latest i9 run astral

analog berry
supple hatch
#

oh its

#

11k

craggy tide
#

i don't have the latest i9 but i can run it on my Coreℒ️ Ultra 7 265K

#

just send an iso

supple hatch
craggy tide
#

i can run both

supple hatch
#

nyaux iso

craggy tide
#

qemu command?

supple hatch
#

sudo qemu-system-x86_64 -M q35 -drive if=pflash,unit=0,format=raw,file=ovmf/ovmf-code-x86_64.fd,readonly=on -cdrom NyauxKC-x86_64.iso -d int -serial stdio -no-shutdown -no-reboot -smp 20 --enable-kvm

#

it doenst really matter

#

js enable kvm

#

and make sure machine is q35

craggy tide
#

why tf do you run it with sudo lol

supple hatch
#

wsl

analog berry
#

nyaux doesnt know he can add himself to the kvm group

#

and he wont need sudo

supple hatch
#

shhhh dont tell me that

carmine swallow
supple hatch
#

22k ops

#

niceee

grand shadow
carmine swallow
grand shadow
#

yeah I really need to find out wtf is making it super slow

#

thats like double what I get in my computer tho which is crazy

gritty shore
#

@supple hatch

analog berry
#

are u running a nasa computer

gritty shore
#

for some reason -M q35 makes it slower (I get 12k)

gritty shore
#

I am nasa

analog berry
#

no no use q35 lol

gritty shore
#

why

#

what does it change

supple hatch
#

no use q35

analog berry
supple hatch
#

^^

gritty shore
#

ahh

#

yeah I get 12k with q35

supple hatch
#

expected

#

im waiting for mints results

#

which will DOMINATE ALL

#

nyaux will dominate all

grand shadow
#

I get 500k/sec with i440fx lmao

supple hatch
#

real

#

bru

gritty shore
#

@analog berry you should make a real leaderboard

obsidian pivot
#

lmao

#

-M pc

analog berry
grand shadow
#

you should set up a server with a i9-69696966969k to run it

obsidian pivot
#

add it to the CI tests

#

on each uacpi commit

#

to update the leaderboard score for each kernel

#

with the new uacpi commit

carmine swallow
#

then you'd have to build the kernels too which might be painful

obsidian pivot
#

exactly

#

@fierce forge can you test obos' ec driver on your laptop

supple hatch
#

the hell is an ec

obsidian pivot
#

embedded controller

#

some dumb acpi thing

supple hatch
#

oh oki

fierce forge
#

ok

obsidian pivot
#

thanks

gritty shore
#

hear me out

#

make uacpi a shared library

#

relink on CI

fierce forge
#

obos doesn't boot

obsidian pivot
#

bruh

#

can you send a pic

#

so I can see how it crashed

fierce forge
#

No picture

obsidian pivot
#

nothing logged means that hyper broke

#

or ventoy is being stupid

analog berry
#

try uefi?

obsidian pivot
#

can you try dding the iso directly

analog berry
#

i know ventoy is quirky

fierce forge
#

And my EC driver shows no signs of life

errant zephyr
#

its defo ventoy being stupid

#

ventoy and stupidity is like a constant

obsidian pivot
#

ventoy=stupidity

#

$$ventoy=stupid$$

frigid saddleBOT
#

oberrow

fierce forge
#

It works fine with limine...

analog berry
#

it takes so long before it reboots highly doubt its hyper

obsidian pivot
#

well it's not my kernel's fault, as the first thing it does on boot is print some info about the current commit

#

one of the first things

analog berry
#

idk how ventoy boots stuff so no idea

fierce forge
#

(I've used balenaetcher)

#

Which should be dd

analog berry
#

try uefi boot to be sure

fierce forge
#

It is UEFI

analog berry
#

ah then yeah

fierce forge
#

I'm not sure this thing even supports csm

supple hatch
grand shadow
#

yeah I cannot for the life of me figure out why astral takes so long to run uacpi init

#

skill issue very liekly

hearty fulcrum
#

allocator, memcpy, mutex/spinlock

#

these affect performance the most

analog berry
#

its still not terrible

grand shadow
#

@analog berry does uacpi by default use kernel or its own memcpy

analog berry
#

its own

grand shadow
#

how do change

analog berry
#

platform/libc.h

#

u want to add uacpi_libc.h header

#

which i think u have already

grand shadow
#

oh I do

#

blegh

wild marsh
analog berry
#

implementer's problem meme

#

if you're integrating uacpi but dont have those idk what you're doing

wild marsh
#

yeah but then why provide your own?

analog berry
#

never seen those calls autogenerated

#

so its a theoretical problem

hearty fulcrum
grand shadow
#

finally pinpointed it down to somethin

hearty fulcrum
#

smh

analog berry
#

imagine not reading the readme

grand shadow
#

if I just return false in the semaphore acquires I get > 1mil

analog berry
#

lol

grand shadow
#

now I just have to figure out which function is responsible

grand shadow
#

400k per second

#

nice

craggy tide
#

and this is nyaux

analog berry
#

Damn pretty fast cpu

#

Even nyaux is approaching obos speeds

craggy tide
#

most of the time it actually says 36ms

#

it seems pretty inconsistent

grand shadow
#

seems like one of the biggest culprits is the acquiring of the semaphore lock

#

lockless time meme

#

probably disabling the interrupt is being very expensive for some reason

#

wonder if it might be something with trying to run pending interrupts or some shit

#

yeah I did something very stupid and just removed the interrupt_set(false) and interrupt_set(intstatus) from before the spinlock acquire

#

this seems to be super slow

#

now to figure out why

fleet osprey
#

justℒ️ disable all locks

fierce forge
#

I need to fix my timers 😦

#

When does this leaderboard thing end?

grand shadow
#

yeah disabling DOPENDING_SAVE() on interrupt_set(true) like quadruples uacpi performance

#

jfc

#

wonder if this is one of the reasons why it was so slow to build gcc

gritty shore
#

whats DOPENDING_SAVE

analog berry
grand shadow
analog berry
#

Hasn't started yet

hearty fulcrum
#

@analog berry I'd like to update my score, please

hearty fulcrum
analog berry
#

Lmao

hearty fulcrum
#

this can be faster with a proper physical mem allocator

fierce forge
#

So 5kk ops/s could be credible?

grand shadow
#

hm I think its the context save that seems to be messing everything up?

obsidian pivot
#

Not me

fierce forge
analog berry
obsidian pivot
#

Not me

analog berry
#

It wouldnt take this long to boot

#

So its obos dying

obsidian pivot
#

It literally can't be

fierce forge
obsidian pivot
#

The first thing it does

#

Is print shit

#

Before anything else

analog berry
obsidian pivot
#

Doubt

analog berry
#

Use hyper with debug prints

fierce forge
#

I can try porting pmOS to hyper

analog berry
#

Yeah

fierce forge
#

And I have quirky hardware

obsidian pivot
#

Albeit not the first thing

analog berry
#

This would be nice for testing and skill issue fixes if any need to be made

#

Make it print and halt after @obsidian pivot

#

First thing

obsidian pivot
grand shadow
#

im rertarted

#

I could literally just check if theres pending interrupts before calling this

#

oh my fucking god

hearty fulcrum
#

could anyone try mine?

qemu-system-x86_64 -serial stdio -m 512M -cpu max,+hypervisor,+invtsc,+tsc-deadline -M q35 -accel kvm -cdrom image-x86_64.iso
hearty fulcrum
obsidian pivot
#

Well unless hyper gives me bad boot info

#

It can't really crash before that log statement, as I would have observed it

hearty fulcrum
#

yes :D

obsidian pivot
#

Unless by some miracle the framebuffer from the firmware is fucked

hearty fulcrum
fierce forge
hearty fulcrum
#

nice

#

also try running again, something might change

fierce forge
#

I'm gonna plug my laptop in

gritty shore
#

now I wanna port uacpi just to benchmark

#

lol

fierce forge
obsidian pivot
hearty fulcrum
obsidian pivot
#

That has a bugged boot menu

fierce forge
#

Are you setting some resolution?

obsidian pivot
#

No

fierce forge
#

The screen is 2944x1840@90

hearty fulcrum
#

@analog berry shouldn't the scores be determined by testing on a one specific machine?

obsidian pivot