klange changed the topic of #osdev to: Operating System Development || Don't ask to ask---just ask! || For 3+ LoC, use a pastebin (for example https://gist.github.com/) || Stats + Old logs: http://osdev-logs.qzx.com New Logs: https://libera.irclog.whitequark.org/osdev || Visit https://wiki.osdev.org and https://forum.osdev.org || Books: https://wiki.osdev.org/Books
<gog> zid
<gog> u a true brexit geezer m8
<zid> how do I tell
<zid> I made a gameboy game
<bnchs> :o
<bnchs> this game's dumb
FreeFull has quit []
<bnchs> but the waving thing is cool
goliath has quit [Quit: SIGSEGV]
<Ermine> zid: good job!
<zid> It's incredible isn't it
<Ermine> Definitely poggers
<bnchs> yeah
Burgundy has quit [Ping timeout: 240 seconds]
andydude has joined #osdev
fkrauthan has quit [Quit: ZNC - https://znc.in]
fkrauthan has joined #osdev
heat has quit [Ping timeout: 240 seconds]
gog has quit [Ping timeout: 264 seconds]
MaxLeiter has quit [Remote host closed the connection]
MaxLeiter has joined #osdev
andydude has quit [Ping timeout: 240 seconds]
andydude has joined #osdev
[itchyjunk] has quit [Remote host closed the connection]
frkazoid333 has quit [Ping timeout: 246 seconds]
freakazoid332 has joined #osdev
andydude has left #osdev [#osdev]
rowbee has joined #osdev
knusbaum has quit [Quit: ZNC 1.8.2 - https://znc.in]
rwb has quit [Ping timeout: 250 seconds]
rowbee is now known as rwb
knusbaum has joined #osdev
clever has quit [Ping timeout: 240 seconds]
<zid> oh I found out why ctrl ctrl was doing a stupid mouse location thing even though it was off in windows
<zid> powertools also has one for me to turn off
knusbaum has quit [Quit: ZNC 1.8.2 - https://znc.in]
knusbaum has joined #osdev
bgs has joined #osdev
slidercrank has joined #osdev
bgs has quit [Remote host closed the connection]
GeDaMo has joined #osdev
potatojs has quit [Quit: Connection closed for inactivity]
potash has quit [Ping timeout: 240 seconds]
<zid> Every program has at least one bug and can be shortened by at least one instruction.
<zid> By induction, we conclude that every program in the world can be reduced to a single instruction that doesn't work.
slidercrank has quit [Quit: Why not ask me about Sevastopol's safety protocols?]
hmmmm has quit [Ping timeout: 256 seconds]
hmmmm has joined #osdev
danilogondolfo has joined #osdev
nyah has joined #osdev
gog has joined #osdev
Burgundy has joined #osdev
Left_Turn has joined #osdev
Turn_Left has joined #osdev
<gog> hi
Left_Turn has quit [Ping timeout: 265 seconds]
heat has joined #osdev
<Ermine> hi gog
<gog> hi Ermine
<gog> will you pet me?
* kazinsal gives gog scritchies
* gog prr
<kazinsal> nyan~
<gog> nyan
<kazinsal> I am hereby bogarting gog this morning
<GeDaMo> You're going to call her 'sweetheart' a lot? :|
* Ermine pets gog
<Ermine> Fucking civil law
<kazinsal> I'm not a weirdo simp jeez
<bslsk05> ​'Yes sweetheart?' by Dunno Damfiknow (00:00:09)
<gog> lol
goliath has joined #osdev
<Clockface> well im going to ask again now that i sort of know what is happening
<Clockface> i figured out how to use stubedit to make my DJGPP executable use CWSDPR0.EXE as its extender
<Clockface> its supposedly supposed to not implement virtual memory
<Clockface> but its giving me a segfault anyways
<Clockface> so
<Clockface> WTF
bauen1 has quit [Ping timeout: 268 seconds]
<sham1> I hope this is not a stupid question, but… why are you using DJGPP
bauen1 has joined #osdev
<Ermine> What else you can use under DOS? QuickC? Turbo C? Watcom?
<Clockface> i like the POSIX environment and the CWSPR0.EXE is supposed to give you full ring 0 privelages
<Clockface> *CWSDPR0.EXE
goliath has quit [Quit: SIGSEGV]
slidercrank has joined #osdev
dayimproper has joined #osdev
dayimproper has quit [Ping timeout: 240 seconds]
<Ermine> Clockface: you're in DOS I guess? Real mode is basically ring 0
lg has quit [Ping timeout: 250 seconds]
lg has joined #osdev
PapaFrog has quit [Ping timeout: 256 seconds]
bauen1 has quit [Ping timeout: 256 seconds]
goliath has joined #osdev
plasma41 has joined #osdev
<gog> hi
<gog> Ermine: they're using a dos extender which apparently they run in ring 3?
<gog> idk enough about it
heat has quit [Remote host closed the connection]
heat has joined #osdev
dude12312414 has joined #osdev
<mcrod> gog: may I pet you
bauen1 has joined #osdev
<Ermine> gog: idk too, I'm too genz for this kind of stuff
<mcrod> Clockface: out of curiosity, why DOS?
<heat> gog are u a true brexit geezer too
<gog> mcrod: yes
<gog> heat: rev up the bugatti wheeyyyyy
* mcrod pets the old geezer gog
* gog prr
<gog> hey i'm not that old of a geezer i did a 1000m sprint today :<
<Ermine> Where do I report EFI spec types. These are numerous.
<gog> what do you mean
<nortti> I presume "types" is typo for "typos"
<Ermine> Yeah
<Ermine> s/types/typos
<gog> ohhh
<gog> yeah
<Ermine> Made a typo while talking about typos...
<gog> i spend a lot of tiem looking at the efi docs and i just sorta ignore them
<nikolar> gog also made a type while commenting about typos
<gog> i did indeed
<nikolar> and apparently so did i
<heat> hahaaahahaha
<heat> see the loongarch calling convention thing
<heat> broken english moment
freakazoid332 has quit [Ping timeout: 240 seconds]
frkazoid333 has joined #osdev
<mcrod> I have discovered something dumb
<mcrod> on windows, if you have any hope of using the ucrt (basically msvcrt successor), you MUST, MUST have visual studio installed
<mcrod> but you can install the SDK separately...
<mcrod> which would imply to me that you wouldn't *need* VS
<mcrod> but it's tied to it
<mcrod> .
<gog> vimsual stumdio
<mcrod> well, I'm trying just the build tools
<mcrod> the SDK alone was hopeless
<Ermine> Development tools management suxx in windows
<sham1> Well so does everything else
<mcrod> ok, build tools is fine
<Ermine> I wish I could install clang and it would work without ms build tools
<gog> one day i'm gonna migrate us away from visual studio mark my words
<gog> i hate this shit. i don't even use most of the tools
<heat> vscode is nice
<nikolar> vscode isn't a part of visual studio
<Ermine> Unless you are low on RAM
<nikolar> kek
<sham1> VSCode is nice except for all the Electron and JS
slidercrank has quit [Ping timeout: 256 seconds]
<Ermine> virgin memset vs chad EFI_BOOT_SERVICES.SetMem
<heat> beware: the argument order is backwards
<heat> its a common source of bugz in edk2
<gog> destination first gang
<gog> this is congruent with the only correct x64 abi: sysv
<Ermine> It is for CopyMem
<gog> the argument order is RDI, RSI
<Ermine> Ah, I get it
<gog> don't @ me libruls
<Ermine> Shouldn't __attribute__((ms_abi)) take care of this?
<gog> yes
<gog> but you only need that for procedures that you might register as a callback for firmware
<gog> everything else can be sysv
<Ermine> I'm going to use clang with -target x86_64-unknown-windows, so it'll do everything as ms_abi anyway
<gog> or you could be like gnu-efi prior to __attribute__((ms_abi)) and thunk all the calls
<Ermine> I did #define EFIAPI __attribute__((ms_abi)) just in case
<gog> yes
<gog> do that
<gog> it makes it such that you don't need to thunk
<gog> with a modern compiler that you're using i hope
<Ermine> clang 16, of course. Latest and greatest!
frkazoid333 has quit [Ping timeout: 240 seconds]
<Ermine> Uhhh, I finished with copypasting boot services function typedefs...
gorgonical has joined #osdev
<Ermine> Wtf is (Not a formal structure member) in runtime services specs?
PapaFrog has joined #osdev
<gog> wdym
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
plasma41 has left #osdev [#osdev]
PapaFrog has quit [Ping timeout: 264 seconds]
<Ermine> gog: look for e.g. EFI_VARIABLE_AUTHENTICATION_3_CERT_ID declaration at https://uefi.org/specs/UEFI/2.10/08_Services_Runtime_Services.html
<bslsk05> ​uefi.org: 8. Services — Runtime Services — UEFI Specification 2.10 documentation
<gog> ah, i think i understand
<heat> i think its meant to say "there's a bunch of shit past this struct, with size IdSize"
<gog> the descriptor is only part of the total struct and the Nonce[NonceSize] (pick a better word imo) might be implementation-defined
<gog> so don't touch it
<heat> shut up u nonce
<gog> :|
<gog> u wot m8
<gog> just a bit of banter
clever has joined #osdev
goliath has quit [Quit: SIGSEGV]
zarock has quit [Ping timeout: 256 seconds]
<gog> god damn it. i just crashed visual studio by clicking on the breakpoint ribbon
<gog> "determining breakpoint location - razor debugger"
<gog> fucking totally locked
<gog> i didn't even want to set a breakpoint i just clicked on the window to focus it T_T
<heat> linux kernal
<gog> lonix kornol
<gog> heat
<gog> do u use the lonix on the tabledesk
Vercas has quit [Remote host closed the connection]
Vercas has joined #osdev
<Ermine> Ah, I think I see
<heat> on top of desk, yes lunix ol the way
<Ermine> I think I saw this trick
<Ermine> Thank you gog
<gog> thank u ermine for using efi
<heat> i used to use windows but then i figure dout it it winblowz
<heat> m$ bad
<gog> m$ unironically bad
<gog> nt kernel good
<mjg> ms opensource contributor
<mjg> winner
bgs has joined #osdev
<heat> linux torvalds when linux 2??
<gog> fwiw ms has contributed more to open source than i have
<gog> i just shitpost and sometimes write a patch when something actually affects me
<mjg> heat: linux 2 was released decades ago111
<mcrod> i remember linux 2.6
* mcrod old
<gog> what about linux 3
<mjg> bad gog
* gog hiss
<heat> half life 2.6
<mjg> 2.6 best kernal
<mjg> or worst
<mjg> dropped booting from floppy
<mjg> :[[
<mjg> no more floppy-based firewalls
<gog> floppywall
<mjg> these were a real thing
<mjg> believe it or not
<gog> yes
<gog> ipcop was one early on right?
<Ermine> EFI gog Services
<mjg> i don't know the exact names, but there was tons of that shite
<gog> y'all remember knoppix
<mjg> livecd knoppix is what iremember
<mjg> no floopiez
<mjg> i did install win 3.11 from floppies
<gog> i had floppy knoppix for awhile
<mjg> i think it was 10-is?
<gog> because i had a really beat up old laptop and the hard drive crashed
<gog> and i needed an os
<Ermine> How's knoppix nowadays
<gog> idk i haven't used it
<mjg> it was 8!
<gog> this was wayyyy back in like 2009 when i was fresh from being homeless and had nothing
<mjg> gog: wut
<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 &amp; 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;amp;
<sham1> &amp;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]
CalculusCats is now known as CalculusCat