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
heat has quit [Ping timeout: 248 seconds]
thinkpol has quit [Remote host closed the connection]
<kof673> i'll dont think i'll watch the movie but plan 9...in the west....glenda moon rabbit....alchemy movies always bomb lol
Arthuria has joined #osdev
thinkpol has joined #osdev
<zid`> lfs!?
goliath has quit [Quit: SIGSEGV]
m3a has quit [Ping timeout: 252 seconds]
<geist> heh, reminds me i never fiddled with the old BSD log file system
<geist> i think it may still exist in some of the modern BSDs
aethlas has quit [Quit: bye]
aethlas has joined #osdev
<the_oz> The Holy Mountain slaps
netbsduser has quit [Ping timeout: 244 seconds]
fedaykin has quit [Quit: leaving]
fedaykin has joined #osdev
Arthuria has quit [Ping timeout: 276 seconds]
edr has quit [Quit: Leaving]
gog has quit [Ping timeout: 252 seconds]
Arthuria has joined #osdev
Arthuria has quit [Ping timeout: 260 seconds]
Arthuria has joined #osdev
Arthuria has quit [Ping timeout: 252 seconds]
<karenw> The hell, why is my code crashing in kvm on `if (cpuid_leaf_7.ebx & CPUID_LEAF_7_EBX_SMAP_BIT)`. It's not generating any funky instructions. It just goes kaboom.
<karenw> And of course the exception/interrupt log is not provided under kvm
terrorjack4 has quit [Quit: The Lounge - https://thelounge.chat]
terrorjack4 has joined #osdev
<zid`> The fun of kvm
<Mutabah> could be crashing/aborting on the `cpuid` instruction?
<zid`> kvm is hard to even tell where the fault was tbh
<zid`> I'd be surprised if it was actually *that* line
<karenw> adding debuug prints around the if results in it printing the print immediately before the if and not printing the first line inside the if or anything after.
<karenw> Of course it runs fine in TCG
<karenw> Oh, wait a moment, it does run the after code.
Arthuria has joined #osdev
Fingel has quit [Ping timeout: 252 seconds]
<karenw> It's crashing on the later `stac` as smap isn't supported so kaboom.
<karenw> I should not write code at 4am
Fingel has joined #osdev
<zid`> kek
<Griwes> 4am is the best time to write code
<zid`> That's 99% of weird bugs, finding out which assumption you made that is wrong
<karenw> So AC flag can't be set in ring 0 is smap isn't enabled?
<Griwes> the only problem is that sometimes it then requires reading it at 4am to understand what you wrote
<karenw> kekw
<Griwes> there's something that is really amusing to me in the name of the opposite instruction (clac)
<zid`> It should be slap and slack
<zid`> clack*
<karenw> It's always fun to write a bunch of code that works in the tcg, but explodes in kvm, or on uefi.
<karenw> Especially if you forgot to test for a number of commits
<zid`> The lesson we've learned: Never touch features that tcg doesn't support
<karenw> Nono. Never touch features *host* doesn't support.
Arthuria has quit [Ping timeout: 252 seconds]
aethlas_ has joined #osdev
Arthuria has joined #osdev
xenos1984 has quit [Read error: Connection reset by peer]
aethlas has quit [Ping timeout: 252 seconds]
<karenw> Another dumb thing about clac/stac: You can't call them from CPL>0, but you can modify AC the old fashioned way bby modifying {R,E,}FLAGS
<karenw> I don't get why they are restricted to kernel mode, hostile userspace can still manipulate the flag.
<zid`> I refuse to think about this a second time
Arthuria has quit [Killed (NickServ (GHOST command used by Guest684531))]
Arthuria has joined #osdev
Arthuria has quit [Ping timeout: 260 seconds]
xenos1984 has joined #osdev
Arthuria has joined #osdev
Arthuria has quit [Ping timeout: 264 seconds]
vykt has joined #osdev
karenw has quit [Ping timeout: 252 seconds]
eluks has quit [Remote host closed the connection]
eluks has joined #osdev
steelswords94 has quit [Read error: Connection reset by peer]
steelswords94 has joined #osdev
fedaykin has quit [Quit: leaving]
fedaykin has joined #osdev
jedesa has quit [Quit: jedesa]
jedesa has joined #osdev
alpha2023 has quit [Read error: Connection reset by peer]
Fingel has quit [Ping timeout: 246 seconds]
alpha2023 has joined #osdev
ThinkT510 has quit [Quit: WeeChat 4.4.2]
ThinkT510 has joined #osdev
youcai has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
vursc has quit [Ping timeout: 260 seconds]
youcai has joined #osdev
jedesa has quit [Quit: jedesa]
fedaykin has quit [Read error: Connection reset by peer]
fedaykin has joined #osdev
m3a has joined #osdev
vinleod has joined #osdev
vdamewood has quit [Ping timeout: 252 seconds]
vursc has joined #osdev
jedesa has joined #osdev
youcai has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
op has joined #osdev
strategictravele has joined #osdev
the_oz has quit [Remote host closed the connection]
the_oz has joined #osdev
netbsduser has joined #osdev
vursc has quit [Ping timeout: 252 seconds]
clever has quit [Ping timeout: 248 seconds]
GeDaMo has joined #osdev
strategictravele has quit [Remote host closed the connection]
heat has joined #osdev
hwpplayer1 has joined #osdev
jedesa has quit [Read error: Connection reset by peer]
FreeFull has quit []
FreeFull has joined #osdev
strategictravele has joined #osdev
vinleod is now known as vdamewood
gog has joined #osdev
Dead_Bush_Sanpai has quit [Read error: Connection reset by peer]
Dead_Bush_Sanpa1 has joined #osdev
Dead_Bush_Sanpa1 is now known as Dead_Bush_Sanpai
jedesa has joined #osdev
d5k has joined #osdev
bessieTheBoy has joined #osdev
<bessieTheBoy> hey just curious if anyone had any example ps/2 driver source? I just want to be able to see how others have done it.
<immibis> isn't there some on the wiki?
<bessieTheBoy> not at:
<bessieTheBoy> at least
<bslsk05> ​wiki.osdev.org: "8042" PS/2 Controller - OSDev Wiki
<bessieTheBoy> didn't see any there
<bessieTheBoy> the only source code I see there is at the bottom for doing a CPU reset.
<zid`> I mean.. there just isn't a lot of driver to write
<zid`> You wait for the interrupt and you do an inb, the rest is all 'kernel stuff' that's just how your kernel is designed
<zid`> how you deliver it to waiters, and how you register/accept interrupts
<bessieTheBoy> that's fair i guess
<bessieTheBoy> ok then thx for the help
<zid`> linux I think just does inb(); input_report_key();
<zid`> more or less
gioyik has joined #osdev
<bessieTheBoy> that makes sense. but you can always look at the Linux src as well. which I've been doing recently just to see how other people do it.
immibis is now known as SystemPrompt
d5k has quit [Quit: leaving]
vursc has joined #osdev
goliath has joined #osdev
<heat> uhhhh linux's ps/2 driver is a lot more than inb
<Mutabah> linux's drivers tend to be hard to read :(
<bslsk05> ​github.com: rust_os/Kernel/Modules/input_ps2 at master · thepowersgang/rust_os · GitHub
<Mutabah> Here's mine, with support for both the 8042 and the ARM PL050
<bslsk05> ​github.com: Onyx/kernel/drivers/ps2 at master · heatd/Onyx · GitHub
<zid`> ?
<zid`> your code is literally b= x86_io::inb(0x60); self.dev.recv_byte(b);
<zid`> and linux's is only slightly more complicated, because it checks for all the possible error states, but then just passes it up via serio_interrupt(data)
<zid`> without the erro and filter code you basically just end up with https://github.com/torvalds/linux/blob/master/drivers/input/keyboard/xtkbd.c instead
<bslsk05> ​github.com: linux/drivers/input/keyboard/xtkbd.c at master · torvalds/linux · GitHub
<zid`> which is literally inb input_report_key
MiningMarsh has quit [Quit: ZNC 1.9.1 - https://znc.in]
<bessieTheBoy> tbh I find linux drivers the easiest to read. i just don't know what some of the functions it calls do. but it's pretty easy to go into some header files and core kernel files to find out.
<bessieTheBoy> well not just drivers literally the entire kernel
MiningMarsh has joined #osdev
<Ermine> it's okay when there are no functions which are thousands of lines long
<heat> lol you picked fucking amdgpu
<heat> no one's forcing you to look at that garbage
<Ermine> radeon*
<Ermine> but you're right
craigo has joined #osdev
heat has quit [Remote host closed the connection]
d5k has joined #osdev
heat has joined #osdev
gareppa has joined #osdev
heat has quit [Remote host closed the connection]
heat has joined #osdev
netbsduser has quit [Ping timeout: 252 seconds]
vursc has quit [Ping timeout: 265 seconds]
vursc has joined #osdev
strategictravele has quit [Quit: strategictravele]
d5k has quit [Ping timeout: 276 seconds]
vursc has quit [Ping timeout: 246 seconds]
vursc has joined #osdev
op has quit [Remote host closed the connection]
vursc has quit [Ping timeout: 265 seconds]
vursc has joined #osdev
Left_Turn has joined #osdev
MiningMarsh has quit [Quit: ZNC 1.9.1 - https://znc.in]
<Ermine> netbsd seems to adopt drm
<nikolar> easier to port the drivers i imagine
<zid`> I prefer cats
MiningMarsh has joined #osdev
Brnocrist has quit [Ping timeout: 252 seconds]
Brnocrist has joined #osdev
vursc has quit [Ping timeout: 244 seconds]
<heat> everyone adopts drm
<heat> except managarm that's handwaving its own drm
<nikolar> not like there's much choice if you want any chance of supporting newer hardware
<heat> yeah
vursc has joined #osdev
<gog> TEE PEE EMM
<heat> wrong drm gog
<nikolar> lol
<gog> :(
ZipCPU has quit [Ping timeout: 265 seconds]
ZipCPU has joined #osdev
<Ermine> unless you're a megamind and you can write your own driver
<nikolar> it's not even that
<nikolar> you just don't have time to write drivers for every gpu out there
<heat> you don't even have enough info
<nikolar> true
<heat> i guess you can read the linux code, it's MIT licensed
Turn_Left has joined #osdev
<bslsk05> ​elixir.bootlin.com: amdgpu_atombios.c - drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c - Linux source code v6.11.3 - Bootlin
hwpplayer1 is now known as mertgor
<nortti> also you'll need to support the same (unstable) uapi as the linux drivers, or you need to rewrite the mesa-side too
mertgor has quit [Changing host]
mertgor has joined #osdev
<heat> the uapi isn't unstable?
mertgor has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.4)]
<Ermine> (my patch breaks it a bit...)
<heat> DONT BREAK ABI MAURO FUCK YOU
<nortti> heat: I was under the impression that there's no API stability guarantees there specifically for the mesa driver to kernel driver API
<heat> i know the graphics people play it a little looser with the ABI
<heat> nortti, not as far as i know
<nikolar> i'd assume that kernel-userspace boundary is pretty stable
<Ermine> does returning EINVAL on several ocassions count as abi or api break?
<nikolar> api
<nikolar> i imagine
<zid`> api
<zid`> it's not even close to abi
<bslsk05> ​lkml.org: LKML: Linus Torvalds: Re: [Regression w/ patch] Media commit causes user space to misbahave (was: Re: Linux 3.8-rc1)
<heat> literally about EINVAL
Left_Turn has quit [Ping timeout: 276 seconds]
<zid`> unless the reason it returned einval is co-incidental to an abi break
<nikolar> > If a change results in user programs breaking, it's a bug in the kernel.
<nikolar> there we go
<heat> i would also count it as ABI
<heat> it's the interface between two 'opaque' binary modules
<zid`> tough
<zid`> abi is about how and when the bytes
<nikolar> yes
<zid`> If it was called the "acc" instead of the "abi", as in, assembly calling convention, you wouldn't confuse them and then claim that, mefeels
<heat> but being "abi-compatible" is a whole lot more than agreeing on how and when the bytes
<zid`> no that's literally what that means
<heat> no?
<heat> say onyx is "linux-abi-compatible"
<heat> it means we agree on how the system calls work, what errors they return, what flags they accept
<zid`> Then it uses the same calling convention as linux
<zid`> Not that it shares its api
<Ermine> well my change shouldn't break anything
<nikolar> Ermine: what's the change about
<bslsk05> ​lore.kernel.org: [PATCH] drm/virtio: use generic dumb_map_offset implementation
<heat> that's just not necessarily true zid`
<heat> ABI has a spectrum of definitions
<zid`> Great, someone used an overly broad definition, once, 40 years ago
<zid`> it isn't what it means
<nikolar> > including the filesystem hierarchy layout
<heat> it most definitely is what it means
<heat> for kernel people
<nikolar> yes i am sure the filesystem is a part of the abi
<zid`> sysvabi has a chapter that says "No filesystem layout constraints are mandated by this document"
<heat> "we don't break ABI" doesn't mean "we don't break the calling convention" because no one would ever break that
<zid`> Note: I will mention there *is* a lexical gap here
<zid`> But abi is not the right term to fill it with
<nikolar> Ermine: simple enough
<zid`> There *should* be a term for 'binary compatibility'
<heat> "we don't break ABI" means that whatever binaries you had before that worked with linux should keep working with linux, by virtue of symbol versioning (for glibc), emulating old functionality, keeping old syscalls, etc
<zid`> like say, iBCS
<zid`> but ABI and BCS are *not* the same thing
<nikolar> indeed
<zid`> Just because you refuse to use the term binary compatibility, doesn't change what ABI means
<Ermine> binary compat = stuff doesn't break even without recompiling
<zid`> ibcs mandates the filesystem layout because mandating just the abi is not *enough* to ensure the binaries run correctly
<zid`> it specifically exists because abi *does not* include that
<zid`> It's the exception that proves the rule
<nikolar> Ermine: exactly, and abi isn't that
<zid`> Which is why linus says "we don't break userspace"
<nikolar> we should just call it bcs instead of abi
<zid`> because he also knows this
<nikolar> "never break the bcs"
<zid`> userspace is a much better term
<nikolar> fair enough
<heat> sadly linux isn't bcs compatible
<heat> there was an old module Way Back When in the late 90s/early 00s that pulled it off
<nikolar> do you mean it's not ibcs compatible
<zid`> It does a pretty good job of not breaking userspace, but some is unavoidable. It's more that they don't break it between point releases, but it does slowly drift
<zid`> like, 64bit file pointers and stuff are just.. mandatory these days
<heat> they aren't
<nikolar> you can mostly fix that with a recompile
<zid`> nikolar: so you agree then :p
<nikolar> yes
<heat> linux did not keep 100% compat, but most of the old syscalls are still there, the bullshit LARGEFILE shit is still there
<zid`> no binary compatibility over the long term
<nikolar> i am saying it's not a huge issue, but requires a recompile :)
<zid`> (long long long term)
<zid`> yea I don't think it's an issue at all, they're very very good at it
<zid`> probably the best of any project ever
<heat> 32-bit kernels now have 32-bit time and 64-bit time interfaces
<zid`> I bet a 32bit kernel just completely barfs on a bunch of my systems
<Ermine> heat: being compatible means keeping all the bullshit
<heat> indeed.
<zid`> cus of things like terrabyte drives, and programs calling mmap on big files etc
<Ermine> this is what windows does
<zid`> just expecting that to work
<heat> that's what the *linux kernel* does
<zid`> windows does it in a weird way
<heat> the rest (except glibc, they do try) doesn't do any sort of compat so linux desktop is a shitshow
<zid`> they shim broken apps whose UB they expose
<Ermine> yes, userspace isn't doing compat much
<zid`> sim city 2000 was the classic example
<zid`> it had a use-after-free that didn't trigger under msvcrt from w2k
<zid`> but it did from xp+ so they all catch if sim city is running and fix the bug at runtime
<Ermine> at least users can play it on modern systems and be blissfully ignorant of the sheer horror happening behind the scenes
<zid`> biggest breakage I ever had was on linux though
<heat> have you seen RHEL? it's awful
<zid`> glibc switched memcpy implementation to go backwards
<heat> they don't do that kind of shit, but still it's backports on top of backports on top of backports
<zid`> and all the programs using memcpy where they meant to use memmove broke
<heat> the original software sometimes is barely recognizable
<nikolar> lel
<heat> yeah that's funny, they had to fix it
<Ermine> But this compat isn't 100%: Halo has some issues, luxor 2 doesn't work
<zid`> I had an LD_PRELOAD
<heat> linux memcpies need to invariably be memmove
<zid`> for a bunch of programs
<zid`> flash was the biggest offender that I remember, but flash is deeeeead now
<nikolar> heat: no
<Ermine> speaking of web, there was a bunch of governmental shit that depended on IE
<nikolar> did it also depend on vbscript or wahtevet it was called :P
<zid`> activex!
<zid`> activex is one of those things that make sense in the 90s, but turn into horrendous nightmarefuel once the internet stops being entirely well intentioned people
gioyik has quit [Ping timeout: 260 seconds]
<zid`> and you can't just leave your car unlocked with the engine running to warm it up anymore
<heat> nikolar, no what
<Ermine> memc pies
<zid`> that break was in 2010 apparently, fml
<nikolar> heat: memcpys should be memmoves
<zid`> is this why we have versioned symbols in glibc now
<heat> linux memcpy is literally memmove
<heat> no, versioned symbols are way older
<Ermine> zid`: and yet some sites kept it until like 2020
<nikolar> heat: does memcpy work if the buffers overlap
<zid`> Ermine: Yea they'd heavily locked it down as much as they possibly could until eventually killing it
<nikolar> in either direction
<zid`> too much random intranet crap relied on it
<zid`> PORTALS
* Ermine goes to musl bugtracker to report no symbol versioning
<nikolar> either, i said it shouldn't, not that it isn0t
<zid`> I don't think glibc memcpy is memmove
<zid`> hence the breakage and the like, six symbol versions
<nikolar> yes
<heat> several libcs (bionic for instance) keep compat
<heat> i don't know if glibc kept it
hwpplayer1 has joined #osdev
<heat> strong_alias (MEMMOVE_SYMBOL (__memmove, unaligned),
<heat> MEMCPY_SYMBOL (__memcpy, unaligned))
<heat> yep, memcpy and memmove are aliases
X-Scale has joined #osdev
<Ermine> I've got a feeling that bionic doesn't have compat
<nikolar> heat: what's that
<Ermine> doesn't have to have*
<bslsk05> ​elixir.bootlin.com: memmove-vec-unaligned-erms.S - sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S - Glibc source code glibc-2.40.9000 - Bootlin
<heat> Ermine, but it does
<heat> realistically these days if you do a bad memcpy FORTIFY_SOURCE will kill you
gioyik has joined #osdev
<nikolar> most distros are building with FORTIFY_SOURCE anyway
<nikolar> as far as i am aware
<Ermine> heat: I mean, nobody uses libc on android directly?
<zid`> eww hardened profiles
<heat> C programs do, C++ programs also do
<heat> apps with native code will also use the libc
<Ermine> through NDK or something
<heat> ndk includes bionic
<Ermine> well okay
<heat> btw one must appreciate how fucking hard it is to read through glibc
<Ermine> appreciate?
<Ermine> I've cried over it
<bslsk05> ​elixir.bootlin.com: memmove-vec-unaligned-erms.S - sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S - Glibc source code glibc-2.40.9000 - Bootlin
<heat> literlly took me some 5 minutes to go from "memcpy" to the actual implementation and i had to use gdb to actually find something concrete
<zid`> I think that's the better link
<zid`> ERMS
<heat> that whole file is also "what if assembly but templates"
<Ermine> in musl it's easier. This is the part I like about musl
<heat> handles sse, avx, avx512
gioyik has quit [Ping timeout: 260 seconds]
<Ermine> can we have both performance and ease of navigation?
<heat> you'll lose maintainability
<heat> or configurability
vursc has quit [Ping timeout: 255 seconds]
<Ermine> :
<Ermine> :'(
Fingel has joined #osdev
Fingel has quit [Client Quit]
vursc has joined #osdev
<gog> performance pfff
Brnocrist has quit [Ping timeout: 255 seconds]
<zid`> configurability is why I write all my C in python
Brnocrist has joined #osdev
<zid`> -x c-with-python-preprocessor
<Ermine> ypu
<Ermine> you've just invented cython
<nikolar> that's not what cython is
vursc has quit [Ping timeout: 276 seconds]
vursc has joined #osdev
pounce is now known as cenopu
bessieTheBoy has quit [Quit: Client closed]
<zid`> nikolar: C programming is hard, that's why I write all my code as a series of chatgpt prompts, then as chatgpt improves, my code does also.
<nikolar> ah why didn't i think of that
<bslsk05> ​gkoberger.github.io: stacksort
<nikolar> lol that's great
Dead_Bush_Sanpai has quit [Read error: Connection reset by peer]
Dead_Bush_Sanpai has joined #osdev
gog has quit [Quit: byee]
gog has joined #osdev
cenopu is now known as pounce
vursc has quit [Ping timeout: 255 seconds]
vursc has joined #osdev
vursc has quit [Read error: Connection reset by peer]
\Test_User has quit [Ping timeout: 260 seconds]
vursc has joined #osdev
aethlas_ has quit [Quit: bye]
aethlas has joined #osdev
npc has joined #osdev
kline has joined #osdev
karenw has joined #osdev
spookline has quit [Read error: Connection reset by peer]
\Test_User has joined #osdev
hwpplayer1 has quit [Quit: bbl]
Dead_Bush_Sanpa1 has joined #osdev
Dead_Bush_Sanpai has quit [Ping timeout: 260 seconds]
Dead_Bush_Sanpa1 is now known as Dead_Bush_Sanpai
Arthuria has joined #osdev
Arthuria has quit [Ping timeout: 246 seconds]
Arthuria has joined #osdev
Arthuria has quit [Ping timeout: 276 seconds]
Arthuria has joined #osdev
Arthuria has quit [Ping timeout: 276 seconds]
bessieTheBoy has joined #osdev
Arthuria has joined #osdev
Arthuria has quit [Ping timeout: 260 seconds]
<bessieTheBoy> so my os is currently in its pre-infancy phase as I am working on loading the GDT which I assume is probably trivial to a lot of people in this irc. I'm trying to load it but.. like usual something went wrong. Apparently the very essence of my gdt.c and gdt.asm files being in the kernel binary are too disgusting for bochs, qemu, and probably any
<bessieTheBoy> other computer. Without even any function calls to the files. Below I have a link to a GitHub repo that contains my gdt.c and gdt.s files. I thought only those two were necessary as everything goes perfectly fine without the files in the binary.
<bslsk05> ​github.com: Page not found · GitHub · GitHub
<heat> 404
<bessieTheBoy> ?
<bessieTheBoy> works for me and the repo is public
<Ermine> 404 for me too
<heat> your username is 404'ing
<bslsk05> ​github.com: Page not found · GitHub · GitHub
<bessieTheBoy> ????
<bessieTheBoy> how?
<bessieTheBoy> im logged in
<bessieTheBoy> clearly I exsist
<bessieTheBoy> exist*
<Ermine> check your privacy settings or something
<bessieTheBoy> ok
<bessieTheBoy> shit my account got shadowmarked
<bslsk05> ​webapps.stackexchange.com: Is GitHub shadowbanning my account by returning 404 to other users who access my profile? - Web Applications Stack Exchange
<bessieTheBoy> well according to this on the first answer
<bessieTheBoy> welp one visit to the github support page here I come
<heat> >Check if you have your GitHub profile set to private.
<bslsk05> ​docs.github.com: Setting your profile to private - GitHub Docs
bessieTheBoy has quit [Quit: Client closed]
bessieTheBoy has joined #osdev
<bessieTheBoy> at:
<bessieTheBoy> it says "Your account has been marked"
<bslsk05> ​support.github.com: Sign in for Software Support and Product Help - GitHub Support
<bessieTheBoy> sooo
<bessieTheBoy> uhh
Arthuria has joined #osdev
d5k has joined #osdev
<bessieTheBoy> anyway why am I forgetting pastebin exists.:
<bessieTheBoy> gdt.c:
<bessieTheBoy> gdt.asm:
<bslsk05> ​pastebin.com: #include "gdt.h"#include "types.h"u64 gdt_entries[3];u64 create_entry( - Pastebin.com
<bslsk05> ​pastebin.com: global load_gdtglobal reloadSegmentsgdtr DW 0 ; For limit storage DD - Pastebin.com
Arthuria has quit [Ping timeout: 265 seconds]
<heat> if you're not calling it and it's still crashing, sounds like something else has gone awry
<bessieTheBoy> i mean without it. everything works. soo that means something in the binary is wrong and probably not with the code
d5k has quit [Quit: leaving]
<bessieTheBoy> also btw all I do in my main kernel entry function is clearing the VGA text mode screen so not much can go too wrong there
<heat> hard to guess what's wrong without jedi powers atm
<heat> maybe you could gitlab it?
Arthuria has joined #osdev
<Ermine> file a ticket to gh support. I was in such a situation a couple of times, and they've lifted restrictions in a few hours
<Ermine> (but that was 2017...)
<bessieTheBoy> I already did. also heat I am gitlabbing it just gimme one sec and ill type it
Arthuria has quit [Ping timeout: 276 seconds]
<bslsk05> ​gitlab.com: Just a moment...
<heat> >404: Page not found
<Ermine> "You need to sign in/up before continuing"
<heat> are you fucking kidding me
<Ermine> man, you're unlucky today
<bessieTheBoy> what the actually funcking hell
<bessieTheBoy> fucking*
<Ermine> next step is getting yourself a VPS and deploying cgit or something here
<Ermine> there*
<heat> are you behind a vpn maybe?
<bessieTheBoy> thank the lord the gitlab repo is just private one sec
<bessieTheBoy> oh for fucks sake I cant set it to be public for some reason. also no I don't have a VPN of any kind
<bessieTheBoy> i think I used some blood magic with satan but its public
<heat> still 404
<Ermine> bruh
<bessieTheBoy> oops has to save changed
<bessieTheBoy> changes*
<heat> okay we're in
<bessieTheBoy> thank the lord
d5k has joined #osdev
<heat> no makefile?
<bessieTheBoy> os is barely a newborn. no I have a jank-ass python file but adding it to the repo now
vdamewood has quit [Quit: Life beckons]
<bessieTheBoy> following up from my previous comment. it was only made to work for me but if you have i686-elf toolchain you should be good. also I'm on windows to develop this if that makes a difference
<heat> have you considered uhh using a makefile
d5k has quit [Ping timeout: 246 seconds]
<bessieTheBoy> idk makefile script or whatever. but yes, just don't know how I'd end up with Make file that would work as a batch file with just commands
npc has quit [Remote host closed the connection]
Arthuria has joined #osdev
<heat> you're missing some files in the repo
<heat> stdint.h, linker.ld
<heat> at least
rlittl01 has quit [Ping timeout: 276 seconds]
<bessieTheBoy> stdint.h is built into gcc i think its on the barebones wiki
<bessieTheBoy> linker.ld coming right up tho
X-Scale has quit [Quit: Client closed]
GeDaMo has quit [Quit: 0wt 0f v0w3ls.]
<bessieTheBoy> its there now
Arthuria has quit [Ping timeout: 260 seconds]
rlittl01 has joined #osdev
<bessieTheBoy> ill find src for stdint.h tho if possible
<bessieTheBoy> cant find it
npc has joined #osdev
<heat> fixed
<heat> diff --git a/multiboot.s b/multiboot.s
<heat> index 8e2b9cf..80a201e 100644
<heat> +++ b/multiboot.s
<heat> --- a/multiboot.s
<heat> @@ -14,7 +14,7 @@ stack_top:
<heat>
<heat>
<heat> section .text
<heat> -
<heat> +global _start^M
<heat> _start:
<heat> mov esp, stack_top
<heat> extern main
<heat> your repo is full of windows braindamage, ignore the ^M
<heat> /usr/bin/ld: warning: cannot find entry symbol _start; defaulting to 00001000
<Ermine> someone does osdev under windows seemingly
<heat> pay attention to your errors next time
bessieTheBoy has quit [Quit: Client closed]
bessieTheBoy has joined #osdev
<bessieTheBoy> thx that worked
simpl_e has joined #osdev
<bessieTheBoy> doesn't work still. updating repo. I still didn't have it call init_gdt.
<heat> your gdt might be broken
<bessieTheBoy> yea according to bochs after commenting out reloadSegments I have 2 available 16bit TSS. which is meant to be a 32bit code and data segment
<Ermine> video on the youtube: "linux is the best OS". should I take the bait?
<heat> open it, comment "you're wrong", leave
<the_oz> openbsd gamer
<Ermine> judging by comments, it tries to sell arch linux to windows users
<heat> LOL FUCK ME
<bessieTheBoy> good at riding a tricicle? now hop in a tank armed with an ICBM and see what u can do.
<nikolar> i want an armed thank with an icbm
<heat> thank
<Ermine> nikolar: try wh40k
<nikolar> dang it
<nikolar> *tank
vykt has quit [Quit: Lost terminal]
npc has quit [Remote host closed the connection]
<Ermine> I don't actually watch this casual linux content. Idk why youtube keeps suggesting me those
<heat> all of the linux youtubers went alt-right anyway
<heat> fuckin lunduke
<Ermine> expect Asahi Lina I guess
<nikolar> expect
<Ermine> except*
<heat> and the new ia64 gcc maintainer/ps2 hard disk user
<heat> ps3*
<Ermine> I keep confusing these two words
<heat> nobody excepts the spanish inquisition
<heat> std::expection
<nikolar> > and the new ia64 gcc maintainer/ps2 hard disk user
<Ermine> ^ standard typo I keep on making
<nikolar> eh?
<bslsk05> ​gcc.gnu.org: Stepping up as maintainer for ia64
<Ermine> also, expect OSError as err:
<nikolar> is ia64 not dead yet?
<nikolar> heat: are you happy
<heat> yes
<nikolar> you just have to buy an ia64 machine
<Ermine> ITANIUM ALIVE
<heat> also https://www.youtube.com/watch?v=X5egRM-Q4CM UGH THE PROJECT WANTS ME TO ADD TESTS WHAT
<heat> FOR FREE??
<bslsk05> ​'How to BURN OUT Open Source devs: After SENDING a patch, IBM asks me to also do a TESTCASE for FREE!' by Code Therapy w/ René Rebe (00:23:37)
<nikolar> lol
Dead_Bush_Sanpai has quit [Ping timeout: 245 seconds]
Arthuria has joined #osdev
<the_oz> seems everyone would know it's a take it or leave it kind of transaction
<heat> https://i.imgur.com/lqCamyX.png what the fuck
<bslsk05> ​i.imgur.com <no title>
hwpplayer1 has joined #osdev
Dead_Bush_Sanpai has joined #osdev
<the_oz> does he have a different definition of woke?
<Mondenkind> CUCKED by freebsd's MASSIVE CoC
<the_oz> I thought they handled CoC drama in a based manner
<gog> dang arch isn't woke?
<gog> guess i better stop using it
<Griwes> ah yes, IBM is woke
<Griwes> sanest argument
<heat> you should see the guy's vids
<gog> i can't
<Ermine> Oh wow
<heat> he goes on and on and on and on and on and on and on about ibm being woke
<heat> and redhat
<Ermine> So I use one woke os and one based os
* kof673 sides with heat > we agree on how the system calls work, what errors they return, > does returning EINVAL on several ocassions count as abi or api break? both, it is api, but also a sequence of bytes that is either valid or not for something to return. there is an abi within any api, of what byte values are "legal". type/size/format is one thing, value is another "how and when the bytes"
<gog> "they helped trans kids use linux" "waow" .oO(BASED BASED BASED BASED BASED BASED BASED BASED BASED BASED BASED BASED BASED BASED BASED)
<kof673> wikipedia has: An ABI defines how data structures or computational routines are accessed in machine code, which is a low-level, hardware-dependent format. In contrast, an application programming interface (API) defines this access in source code,
Arthuria has quit [Ping timeout: 246 seconds]
<heat> gog, making trans kids use linux sounds like what an anti-trans org would do
<Ermine> is it lunduke
<heat> yes
Arthuria has joined #osdev
<Ermine> gosh
<kof673> so "returning EINVAL" is not at the source level, it is at the machine code level. and maps to some sequence of bytes, a value
<gog> detransing because linux
<Ermine> linux has xtrans
<gog> my pronouns are gnu/linux
<kof673> they are intertwined, anyways, double-sided. the mistake is separating them in the first place as if an ABI can exist without an API and vice versa, i.e. that there is such a thing as machine code without source or vice versa
<heat> i'm in an Open BSD relationship (sub/dom)
<the_oz> "how the bytes are compared to their specification" The bytes of what? The interface. Of what? The executable binary?
<the_oz> or the interface with nameless interfacing IN binary?
<the_oz> (AB)I or A(BI)
<kof673> lol
<kof673> yes
<kof673> at the least, some human has the source in their head and made-up some machine code format, even if there is no known "assembler"
<kof673> and the "Translation" occurs in their head
<bslsk05> ​gitlab.freedesktop.org: xorg / lib / libxtrans · GitLab
Arthuria has quit [Ping timeout: 276 seconds]
<heat> xorg has gone woke
<heat> wayland was woke from the start
<heat> what non-woke desktop system is there
<Ermine> tty
<heat> free the tty
<the_oz> *notes down idea* develop AI to grow code
<heat> they want to sexualize our children with books about "the tty"
<Ermine> tty demystified
<Ermine> -- basically nsfw content
<the_oz> don't worry, I'm immune to woke BS, I use reiserFS
<gog> looool
<Ermine> lmao
<Ermine> L Mao
<gog> is that still in-tree?
<heat> yes i believe so
<gog> waow
<nikolar> but bcachefs is about to be kicked out at this rate
<heat> "scheduled to be removed from the kernel in 2025"
<Ermine> yes
<Ermine> fs/reiserfs
<gog> i remember when reiser4 was drama
<heat> kent overstreet is genuinely the biggest asshole i've ever seen in the kernel
<gog> around the time he merked his wife
<nikolar> lol
<Ermine> based reiserfs fuse module when
<heat> you can't even say the guy is autistic, he very clearly knows what he's doing is wrong, but he just does it because he's a 10x developer rockstar
<bslsk05> ​github.com: linux/fs/reiserfs/Kconfig at master · torvalds/linux · GitHub
<Griwes> > scheduled to be removed from the kernel in 2025
<heat> guy basically sends an email to linus saying that btrfs is shit, the btrfs guy responds to it (hurt by the fucking constant bashing)
<heat> kent responds to that email basically reiterating that btrfs is shit
<nikolar> but btrfs is shit heat
<nikolar> don't you get it
<Griwes> almost all FSes are shit, zfs to the rescue
<Ermine> "Balanced trees are more efficient than traditional file system architectural foundations."
<bslsk05> ​lore.kernel.org: Re: [GIT PULL] bcachefs fixes for 6.12-rc2 - Kent Overstreet
<Griwes> cue the fstat or what it was again :V
<gog> i only want mdadm, lvm and ext4
<Griwes> s/or/thing or/
<bslsk05> ​<Griwes*> cue the fstat thing or what it was again :V
<gog> anything else is for soyboy beta cucks
<Ermine> nikolar: the point is that you don't need to discuss btrfs when bcachefs is being discussed
<nikolar> (i was joking)
<Griwes> Ermine, both start with b and end with fs, clearly the same thing
<Ermine> that was hard to tell
<gog> i'm actually not really joking though, i have never used btrfs
<Ermine> Griwes: you're goddamn right
<Ermine> gog: same
<Griwes> b2fs, b5fs - clearly just a difference of 3 versions
<heat> i agree i like REAL FILESYSTEMS not libcuckfs now with CoW btrees snapshot
<heat> NON-WOKE EXT4 vs WOKE BTRFS
<Griwes> lol
<gog> like even windows has LDM and associated things go to do that stuff at block level, they don't cram it all into NTFS
* Ermine feels more based
<gog> volume shadow copy
<gog> striping/mirroring
<Ermine> what about refs
<heat> fuck the ref
<Ermine> we don't discuss FSen often
<heat> nope not at all
<nikolar> ZFS ZFS ZFS
<nikolar> almost typed UFS
<nikolar> phew
<Griwes> speaking of based, thanks for reminding me to take my drugs :V
<heat> UFS UFS UFS UFS
gareppa has quit [Quit: WeeChat 4.1.1]
<Griwes> zfs zfs zfs
<Ermine> UFC UFC UFC UFC
<Griwes> zfs on root is the most based
<Griwes> *and* most woke
<heat> i've slowly realized over time that i have a strong collection of satiric messages on this irc that could be taken insanely out of context
<Griwes> deal with that, liberals
<nikolar> heat: examples please
<gog> i put my drug patch on yesterday morning
<heat> nikolar, libcuckfs
<Griwes> heat, I kinda wish we had a quotes bot that allows sniping quotes
<nikolar> lol
<Ermine> moar
<Griwes> there's some weird ones I have from ages ago in #C++
<Ermine> could be ++C#
<gog> plus plus c#
<heat> no i don't c# i wear glasses
<Ermine> cyno moment
<kof673> > So I use one woke os and one based os once again, ermine has won alchemy chat
hwpplayer1 has quit [Remote host closed the connection]
<Ermine> Though Alpine and Adélie are woke too
<Ermine> so one against many
<qookie> is any distro nonwoke nowadays
Arthuria has joined #osdev
<Ermine> what does that even mean actually
<gog> it means that the package manager calls you a t-slur if you install catgirl to use irc
Arthuria has quit [Ping timeout: 276 seconds]
<heat> idk lunduke says debian hates white men
<Ermine> you're watching lunduke?
<heat> no
<heat> i opened his youtube a few minutes ago remember?
<Ermine> I mean, are you watching him right now
<heat> no
<heat> would rather eat broken glass
<the_oz> heat is opposite man, watches things because he hates them
<gog> if you're so worried about being hated as a man i have a hell of a solution for you
<gog> one weird trick
<the_oz> you won't BELIEVE what they did next
<gog> :D
<heat> lmfao
<kof673> > would rather eat broken glass in a galaxy far away i had a co-worker say that about linux (they used windows on desktop, linux on servers when deployed)
<kof673> *devs wrote code on windows, deployed to linux servers
<gog> heh
<gog> we do that
<gog> to my great shame
<kof673> it was an old website with translations for multiple languages, so you are treated fairly when travelling > Saying "I can eat glass, it does not hurt me", however, ensures that the speaker "will be viewed as an insane native, and treated with dignity and respect".
<kof673> else you are just another foreigner, and will be abused
andreas303 has quit [Quit: fBNC - https://bnc4free.com]
* kof673 mutters dark sayings of old abi: an api congealed by an implementation api: an abi congealed by a source language ( blackness: dryness congealed by moisture whiteness: moisture congealed by dryness )
<Ermine> TIL llvm can emit 8087 FPU instructions
<heat> llvm has some really weird floating point codegen that basically spams fwait in musl
<heat> it's weird
<nikolar> lol
<nortti> Ermine: as in, you can restrict it to only generate the subset that the original 8087 supported?
<nortti> is this with 32-bit x86 backend?
<Ermine> nortti: if you target pentium (mmx)
andreas303 has joined #osdev
<Ermine> man mdelay
<Mondenkind> wtf is fwait
<Mondenkind> is that like
<Mondenkind> wait for the x87 fpu (which is a separate addon chip you plug into the motherboard) to send its results back to you
<heat> >Causes the processor to check for and handle pending, unmasked, floating-point exceptions before proceeding
<gog> it's a coprocessor so yeah
Fingel has joined #osdev
Burgundy has joined #osdev
vdamewood has joined #osdev
Arthuria has joined #osdev
Arthuria has quit [Killed (NickServ (GHOST command used by Guest684531))]
Arthuria has joined #osdev
Arthuria has quit [Ping timeout: 252 seconds]
goliath has quit [Quit: SIGSEGV]