<mcrod>
in case anyone cared, the only reason I'm trying to figure out a "minimal" build environment for windows is so I can setup CI
<mjg>
mcrod: you don't have CI?
<gog>
yeah i was homeless for a couple months when i turned 19
<mjg>
mate
<mcrod>
for my personal projects?
<mcrod>
no.
<gog>
bad time
<mjg>
oh ok
<mcrod>
at work of course we do
<mjg>
mcrod: i know places which don't :X
dutch has quit [Quit: WeeChat 3.8]
innegatives has joined #osdev
<heat>
mjg, motherfarker did you see my messages on vma merging for free/netbsd
<mjg>
i glanced though it
<mjg>
i can't be arsed to verify
<heat>
i think you mean ok mjg@
<mjg>
see a certain remark i made :X
<mcrod>
oh my god
<mcrod>
toolchain building on Windows is a nightmare
<heat>
cry
<mjg>
dev is pain
<mjg>
did you sarifice a goat yet
<heat>
mjg, net surprisingly merges nothing, which is interesting. i wonder if they only merge on REALLY specific conditions
<heat>
anyway everything here sucks and I'm seriously considering using the actual PTEs for anon memory
<mcrod>
I honestly don't think I could write a powershell script to do all of this, cleanly
<mcrod>
a shell script, yes
<heat>
instead of being principled with pretty vm objects and amaps and whatever
dutch has joined #osdev
<mjg>
did i mention a dirty secret that all this code is mostly slapped together
<gog>
:o
<gog>
shocking
<heat>
which code
<mjg>
without subsequent refinement over a host of different workloads
<mjg>
netbsd vm, freebsd vm
<mjg>
fucking anything not-linux basically
<mcrod>
I wonder if choclatey is even good
<mjg>
and even then linux get ssome wins only becaue people tweak here and there. fix something and break something else
<mjg>
somtimes avoid the latter
<gorgonical>
My risc-v assembly forth interpreter is pretty much done. I even implemented a line mode so I can press the backspace button
<gorgonical>
Runs on baremetal. I didn't implement the crazy inline assembler from the original though
<gog>
neat
<mjg>
this is a COBOL channel though
<gog>
i hear forth interpreters are pretty easy to implement
<gorgonical>
I have been puttering around with it for months and after my thesis proposal I finally had some time
<gorgonical>
They are, but I added some challenge for myself and did it on baremetal so I have to do all the input handling myself, etc. It's also written in risc-v and I did the porting of the mechanics myself
<nortti>
what devboard are you targeting?
<nortti>
or are you doing virtio?
biblio has joined #osdev
<gorgonical>
I am currently doing this in qemu but I have a D1 core. The clockwork pi is the physical board I'm targeting
<gorgonical>
I guess technically it's not fully baremetal since I am using opensbi firmware underneath
<heat>
FRAUD
<gorgonical>
I know. I am ashamed
<gog>
this guy's a phony
<Ermine>
Also I wonder why runtime services functions are not declared as EFIAPI in spec...
innegatives has quit [Quit: WeeChat 3.8]
josuedhg has joined #osdev
gog` has joined #osdev
xenos1984 has quit [Ping timeout: 240 seconds]
xenos1984 has joined #osdev
frkazoid333 has joined #osdev
biblio has quit [Quit: Leaving]
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
gog has quit [Quit: Konversation terminated!]
* Ermine
is ready to compile hello world
* mcrod
is ready to bash his skull in
<mcrod>
hard to imagine people develop anything worthwhile on windows
<mcrod>
I mean, at least it's getting better
gog` has quit [Ping timeout: 246 seconds]
<mjg>
> There are about 72 f-bombs in each episode
<mjg>
a show i'm definitely interested in
<heat>
the lkml theory
bauen1 has quit [Ping timeout: 256 seconds]
xenos1984 has quit [Ping timeout: 248 seconds]
slidercrank has joined #osdev
wootehfoot has joined #osdev
xenos1984 has joined #osdev
<Ermine>
YAY IT WORKED
gorgonical has quit [Remote host closed the connection]
<heat>
nice
dude12312414 has joined #osdev
gog has joined #osdev
<heat>
Ermine, u bootloading yet
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
<Ermine>
heat: not now, it's the next step: get linux kernel image, initrd and cmdline from file system and load it all
<heat>
onyx where
<heat>
linux sucks, its soo 1992
<mcrod>
linux is obsolete
<mcrod>
:')
<bnchs>
humans are obsolete
<Ermine>
heat: I understood that you planned to implement linux boot protocol
<bnchs>
they're sooooo 2023 years agooo
<heat>
dawg what
<heat>
you realize humans have existed for far longer than 0 AD? right???
innegatives has joined #osdev
<bnchs>
i know
<bnchs>
i'm implying humans have been obsolete since 0 AD
<heat>
what
<bnchs>
i'm implying most obsolence is arbitrary
<Ermine>
heat: efi_boot_init is ur efi entry point?
<Ermine>
Or... efi_handoff ?
<heat>
define EFI entry point
<heat>
i have multiboot2 efi handoff support. efi_handoff gets called from a mb2-specific stub in boot.S. later in booting, in the kernel proper, efi_boot_init is called to enumerate the mmap, etc
<bnchs>
heat: why are you reading too much into my messages
gog has quit [Ping timeout: 246 seconds]
<Ermine>
heat: oic
<heat>
Ermine, in theory I also have rudimentary support for EFISTUB, but its not hooked up
<heat>
mainly because I realized qemu wants the kernel to be linux in that case...
<heat>
or something equally silly like that, can't remember
<heat>
mjg, does freebshitd have a hack for kallsyms-like functionality?
<heat>
i'm looking for anything that's not linux's "lets link the kernel 3 times in a row"
<mcrod>
how do people write shaders
<mcrod>
literally looks like like noise
gorgonical has joined #osdev
<gorgonical>
From easy to hard how much work is implementing sockets and TCP/IP? Let's say I have got vfs and the network device driver working already
<zid>
do you want it to be.. good?
<zid>
or just do things
<zid>
same with a lot of things
<zid>
You can get away with INCREDIBLY little code if you're willing for it to be shit :P
innegatives has quit [Quit: WeeChat 3.8]
<gorgonical>
It should eventually be tolerable, but it can be quite shit for now lol
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
PapaFrog has joined #osdev
gildasio has quit [Ping timeout: 240 seconds]
gildasio has joined #osdev
<heat>
what zid said, but in portuguese
dayimproper has joined #osdev
<gorgonical>
I was just thinking today I should do the netbsd thing and integrate lua into the kernel
<gorgonical>
speaking of portuguese
<heat>
no
<gorgonical>
But it would be a fun trick
<gorgonical>
Especially becuase in order to do anything interesting with it I'd need sockets because the kernel is non-interactive
<heat>
just add sockets and bpf like a normal unix
<gorgonical>
So you'd connect to the listening management socket and fart around that way
<heat>
farting around is my middle name
<gorgonical>
We currently have lwip mushed in there someway but my advisor doesn't believe it works anymore. I don't agree
<heat>
oh yeah you have that weird linux but not, right?
<gorgonical>
yes yes
<heat>
why not linux's netstack?
<heat>
if you're going for the linux-but-something-is-off vibe anyway
<gorgonical>
Part of our research argument is code size and so anytime we can steal from Linux we try to be circumspect and ask if we can Pareto it and use less code
<gorgonical>
We aren't trying to be general purpose so the hope is that 20% we lose isn't in our target
<heat>
are you measuring it in binary size or kloc?
<gorgonical>
mostly kloc. We're going for complexity, not embedded stuff
<dzwdz>
what's the argument?
elastic_dog has quit [Ping timeout: 240 seconds]
<zid>
I need to hack lua to shit one day to make it useful
<dzwdz>
gorgonical: my garbage, barely working network stack is ~1400loc
<gorgonical>
dzwdz: part of our research is trusted computing, so ideally we want the dumbest, simplest code we can use. The only bug-free code is nonexistent code
<dzwdz>
agreed
dayimproper has quit [Ping timeout: 240 seconds]
elastic_dog has joined #osdev
<zid>
My OS responds to pings, because fuck it why not, and that's like 200 loc most of which is if(!specific_thing_I_handle) return; :p
<dzwdz>
sounds interesting, i'm going for a similar thing with my kernel too
<zid>
until we finally build a reply packet
<dzwdz>
keep the trusted part as small as possible, and make it easy to isolate everything else
<gorgonical>
Essentially, yes
<zid>
proto = packet[37]; switch(proto) { case PROTO_IPV4: ipv4(packet); break; default: return; } .. eats up a lot of lines for not doing a lot
<dzwdz>
but you can't tease me and then leave it at that :p
<dzwdz>
zid: that's just 1 line though
<gorgonical>
dzwdz: what do you mean?
<gorgonical>
or was that at zid
<dzwdz>
it was at you
<dzwdz>
hm, i'm not sure how to phrase my question well tbh
<dzwdz>
what ideas are you exploring? i guess
gildasio has quit [Remote host closed the connection]
<gorgonical>
oh so we are exploring trusted io in service of stuff like edge ai/ml computing. I'm working on the kernel stuff and trusted IO
gildasio has joined #osdev
<dzwdz>
ah, ok
<gorgonical>
Obviously industry probably has already solved this but they don't really tell us academics, especially when trusted computing is involved. They're very hush hush
<gorgonical>
And especially we're looking at multi-tenant configurations where some other kernel is also on the system, so having a whole-system security envelope is unavailable. So the hard part is securely taking control of an IO device and getting that data somewhere trusted
<zid>
dzwdz: That's clearly 9 lines
<zid>
It has implicit \n
<zid>
note: if you see implicit \r\n your brain is faulty and we'll send you to the chamber to recover
<dzwdz>
i thought we cared about loc here
<dzwdz>
i saw someone measure code by semicolons once
<dzwdz>
seems like a pretty good metric
<zid>
yea that's basically equivalent to "statements"
<zid>
which is an actual measure of how much work a code does compared to "lines"
<zid>
given there's you know, lots of lines that don't do anything besides grammar
<gorgonical>
Esp in a language that's brace/semicolon based
<gorgonical>
For python or whatever it's probably just as legitimate to measure loc because of semantic whitespace
<heat>
zid, if you don't see implicit \r\n for every \n, your brain is faulty and NON COMPLIANT TO GOOD STANDARD TTY SEMANTICS
<zid>
I bet ^.*[a-zA-Z0-9].*$" counts similarly better than loc
<zid>
as it ignores blank lines and lines with only furniture on
<heat>
we obviously need to measure complexity in AST nodes
<zid>
heat: This is your brain on typewriters
<dzwdz>
zid: that just favors short variable names
<dzwdz>
even more gameable than loc
<heat>
size matters
<dzwdz>
my partner tells me otherwise
<dzwdz>
oh wait that was a regex for lines
<dzwdz>
i thought you were measuring individual characters
<dzwdz>
nvm then
<dzwdz>
that counts comments though
<nikolar>
heat why should i convert \n to \r\n when my terminal emulator does that for me
<zid>
Yea heat is confusing concepts for implementation details nikolar
<nikolar>
sadge
<heat>
its not the terminal emulator, its the tty layer
<heat>
ONLCR
<nikolar>
true
<zid>
\r\n is just the encoding for \n
<zid>
Like how & is the encoding for & in html
<sham1>
And both encoding sequences contain the datum actually being encoded
gorgonical has quit [Ping timeout: 264 seconds]
<sham1>
So it's nice and recursive
<sham1>
&amp;
<sham1>
&amp;amp;
wootehfoot has quit [Quit: Leaving]
gildasio has quit [Ping timeout: 240 seconds]
<moon-child>
\\\n
gildasio has joined #osdev
bgs has quit [Remote host closed the connection]
netbsduser` has joined #osdev
grange_c04 has joined #osdev
elastic_dog has quit [*.net *.split]
slidercrank has quit [*.net *.split]
xenos1984 has quit [*.net *.split]
clever has quit [*.net *.split]
vny has quit [*.net *.split]
pie_ has quit [*.net *.split]
vancz has quit [*.net *.split]
tanto has quit [*.net *.split]
doppler has quit [*.net *.split]
Piraty has quit [*.net *.split]
simpl_e has quit [*.net *.split]
dormito has quit [*.net *.split]
alpha2023 has quit [*.net *.split]
netbsduser``` has quit [*.net *.split]
eau has quit [*.net *.split]
ghostbuster has quit [*.net *.split]
Stary has quit [*.net *.split]
zid has quit [*.net *.split]
grange_c0 has quit [*.net *.split]
V has quit [*.net *.split]
grange_c04 is now known as grange_c0
heat has quit [Quit: Leaving]
heat has joined #osdev
Burgundy has quit [Ping timeout: 265 seconds]
elastic_dog has joined #osdev
slidercrank has joined #osdev
simpl_e has joined #osdev
xenos1984 has joined #osdev
ghostbuster has joined #osdev
V has joined #osdev
vancz has joined #osdev
vny has joined #osdev
dormito has joined #osdev
pie_ has joined #osdev
Stary has joined #osdev
Piraty has joined #osdev
zid has joined #osdev
doppler has joined #osdev
eau has joined #osdev
tanto has joined #osdev
clever has joined #osdev
elastic_dog has quit [Max SendQ exceeded]
slidercrank has quit [Max SendQ exceeded]
slidercrank has joined #osdev
PapaFrog has quit [Quit: ZNC 1.8.2+deb2 - https://znc.in]
elastic_dog has joined #osdev
PapaFrog has joined #osdev
[itchyjunk] has joined #osdev
Turn_Left has quit [Read error: Connection reset by peer]
danilogondolfo has quit [Remote host closed the connection]
goliath has joined #osdev
[itchyjunk] has quit [Read error: Connection reset by peer]