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> sounds like you have a b u g?
<heat> no way the hardware is doing that
<wxwisiasdf> :')
<wxwisiasdf> perhaps
<gog> bug?
<gog> nah
<gog> couldn't be
<heat> gog no bug
<heat> gog perfect code ggez
<gog> what if there's a gog in the code
<gog> code's goggy as fuck
<heat> you my friend just got gog'd
<heat> it was just a gog bro haha
<gog> lmao
<gog> nah i'm a terrible programmer and i write bugs all the time
<zid> You've been gogged
<heat> gog gogged gog
<heat> zid, oh yeah, how is it to live under the reign of King Charles?
<zid> It's going to be indescribably awful
nyah has quit [Quit: leaving]
<zid> because the news will be nothing but liz's death for weeks to months, and the tories are going to do as much evil shit as they can under their evil new leader
<zid> with 0 accountability
<heat> was boris johnson keeping the queen alive all this time? not saying anything, just asking questions
<zid> truss ate her soul
<heat> liz ate liz
<zid> It's like jet li's "the one"
<wxwisiasdf> i am a programmer i make no mistakes
[itchyjunk] has quit [Ping timeout: 248 seconds]
<wxwisiasdf> **crashing program sounds in the background**
<gog> i'm sorry you have to live on clown island zid
<zid> at least you're a cool guy, because you didn't look at the explosion
<heat> temporary restart
<gog> nobody deserves that fate no teven the british
<heat> gog, look who's talking
rpnx_ has joined #osdev
<rpnx_> Can a node be nested inside another node?
<rpnx_> in DTS
<bslsk05> ​grapevine.is: From Iceland — Not Even Iceland Is Safe From Creepy Clowns
<heat> all islands are clown islands
<heat> live in a continent, it's nice
<gog> lmao
[itchyjunk] has joined #osdev
<gog> that was 6 years ago
<heat> 2016 was 6 years ago?
<gog> yup
<heat> big if true
<gog> do the math
* heat sweats prefusely
<zid> I get -4
<gog> in any case, we don't have clowns in iceland
<gog> we don't have clowns, trees, fish, and soon sunlight
<heat> best iceland m8 cheers
<gog> lol they appealed the court case against them by the republic of iceland
<gog> because of their attempt to trademark "iceland" as a brand
<zid> iceland is where someone was playing with the mapping tools in sim city and just made everything flat
<gog> yes
<gog> iceland is a very flat place
<gog> there are no extreme variations of elevation or weather here
<zid> or emotions
<zid> It's like the neutral planet from futurama
<zid> everybody is the same shade of grey
<gog> uh have you met me?
<heat> i thought there were 50 shades of grey
<heat> turns out we were all lied to
[itchyjunk] has quit [Read error: Connection reset by peer]
FreeFull has quit []
[itchyjunk] has joined #osdev
<heat> oh yeah it was my last day today
<heat> i am now a free agent
<wxwisiasdf> :0
rpnx_ has quit [Ping timeout: 268 seconds]
<gog> want an exciting job in a beautiful country
<gog> you can be my second portuguese friend
<heat> i should be your first
<gog> i have a portuguese friend already, she's really cool
<heat> i am hotter
<heat> hehehehehehehe
<gog> i serously doubt it
<gog> :9
<gog> not because you're not hot, but comparatively with anybody in the world
<gog> she's hotter than most people :P
<zid> how tall is she
<gog> kinda short actually
<zid> only kinda? :(
<gog> 160cm i'd say
<zid> oh way too tall, rejected, knees too sharp
<gog> lmao
<heat> tallest portuguese person
<zid> I can't even remember the name of the site that meme is from now
<gog> she's half italian
<gog> that might be it
<zid> FARK
<gog> lmao
saltd has quit [Remote host closed the connection]
netbsduser has quit [Quit: Leaving]
<mrvn> heat: it's 50 shades darker.
selene_ has joined #osdev
selene_ has quit [Client Quit]
gog has quit [Ping timeout: 244 seconds]
<wxwisiasdf> 50 shaders lighter
wxwisiasdf has quit [Quit: Lost terminal]
saltd has joined #osdev
<heat> 50 shades of pasty white boys
sebonirc has quit [Remote host closed the connection]
xenos1984 has quit [Read error: Connection reset by peer]
sebonirc has joined #osdev
qubasa_ has joined #osdev
qubasa has quit [Ping timeout: 240 seconds]
saltd has quit [Read error: Connection reset by peer]
qubasa_ is now known as qubasa
xenos1984 has joined #osdev
saltd has joined #osdev
smach has joined #osdev
scoobydoo has quit [Read error: Connection timed out]
scoobydoo has joined #osdev
[itchyjunk] has quit [Remote host closed the connection]
sonny has joined #osdev
sonny has quit [Ping timeout: 252 seconds]
Matt|home has joined #osdev
frkzoid has quit [Ping timeout: 244 seconds]
smach has quit [Ping timeout: 248 seconds]
sonny has joined #osdev
koolazer has quit [Read error: Connection reset by peer]
justJingo has quit [Quit: ZNC 1.8.2 - https://znc.in]
justache has joined #osdev
frkzoid has joined #osdev
frkzoid is now known as freakazoid333
heat has quit [Ping timeout: 260 seconds]
bauen1 has quit [Ping timeout: 252 seconds]
rpnx_ has joined #osdev
bauen1 has joined #osdev
rpnx_ has quit [Ping timeout: 252 seconds]
saltd has quit [Remote host closed the connection]
sonny has quit [Quit: Client closed]
MiningMarsh has quit [Quit: ZNC 1.8.2 - https://znc.in]
saltd has joined #osdev
MiningMarsh has joined #osdev
saltd has quit [Read error: Connection reset by peer]
saltd has joined #osdev
ThinkT510 has quit [Quit: WeeChat 3.6]
ThinkT510 has joined #osdev
saltd has quit [Remote host closed the connection]
saltd has joined #osdev
bauen1 has quit [Ping timeout: 248 seconds]
opal has quit [Remote host closed the connection]
opal has joined #osdev
myon98 has quit [Quit: Bouncer maintainance...]
rorx has quit [Ping timeout: 255 seconds]
bauen1 has joined #osdev
bauen1 has quit [Ping timeout: 252 seconds]
bauen1 has joined #osdev
saltd has quit [Remote host closed the connection]
opal has quit [Remote host closed the connection]
opal has joined #osdev
scoobydoo has quit [Ping timeout: 244 seconds]
saltd has joined #osdev
scoobydoo has joined #osdev
GeDaMo has joined #osdev
myon98 has joined #osdev
saltd has quit [Remote host closed the connection]
potash has joined #osdev
Ali_A has joined #osdev
saltd has joined #osdev
rorx has joined #osdev
saltd has quit [Ping timeout: 244 seconds]
carbonfiber has joined #osdev
Ali_A has quit [Quit: Client closed]
bauen1 has quit [Ping timeout: 252 seconds]
[itchyjunk] has joined #osdev
saltd has joined #osdev
stux has quit [Ping timeout: 248 seconds]
gog has joined #osdev
biblio has joined #osdev
netbsduser has joined #osdev
saltd has quit [Read error: Connection reset by peer]
PapaFrog has quit [Read error: Connection reset by peer]
LostFrog has joined #osdev
saltd has joined #osdev
elastic_dog has quit [Ping timeout: 244 seconds]
epony has quit [Remote host closed the connection]
elastic_dog has joined #osdev
elastic_dog has quit [Client Quit]
saltd has quit [Remote host closed the connection]
elastic_dog has joined #osdev
scoobydoo has quit [Ping timeout: 260 seconds]
saltd has joined #osdev
scoobydoo has joined #osdev
\Test_User has quit [Quit: .]
Andrew has quit [Quit: Disappearing for a while, email me if you need to talk: andrew AT andrewyu DOT org.]
\Test_User has joined #osdev
freakazoid333 has quit [Ping timeout: 244 seconds]
carbonfiber has quit [Quit: Connection closed for inactivity]
foudfou has quit [Quit: Bye]
foudfou has joined #osdev
vdamewood has joined #osdev
Brnocrist has quit [Ping timeout: 260 seconds]
Brnocrist has joined #osdev
netbsduser has quit [Quit: Leaving]
[itchyjunk] has quit [Remote host closed the connection]
biblio has quit [Quit: Leaving]
nyah has joined #osdev
mavhq has quit [Ping timeout: 248 seconds]
heat has joined #osdev
<heat> i found out i have ligma
wootehfoot has joined #osdev
<heat> geist, the new riscv ISAs don't include CSRs and instruction fences
xenos1984 has quit [Read error: Connection reset by peer]
<heat> the newest binutils (upgraded to 2.39) now enforces that
<heat> you need to pass zifencei and zicsr in your -march string
<heat> like -march=rv64imac_zicsr_zifencei apparently
<heat> sorry, dont include CSRs and ifences in the base instruction set I mean
xenos1984 has joined #osdev
smoke has joined #osdev
tsraoien has joined #osdev
frkzoid has joined #osdev
saltd has quit [Remote host closed the connection]
smoke_ has joined #osdev
smoke has quit [Ping timeout: 260 seconds]
smoke_ has quit [Ping timeout: 252 seconds]
smoke_ has joined #osdev
saltd has joined #osdev
smoke_ has quit [Read error: Connection reset by peer]
wootehfoot has quit [Read error: Connection reset by peer]
xenos1984 has quit [Ping timeout: 260 seconds]
xenos1984 has joined #osdev
saltd has quit [Remote host closed the connection]
xenos1984 has quit [Ping timeout: 248 seconds]
frkzoid has quit [Ping timeout: 244 seconds]
[itchyjunk] has joined #osdev
saltd has joined #osdev
heat has quit [Remote host closed the connection]
heat has joined #osdev
xenos1984 has joined #osdev
tsraoien has quit [Ping timeout: 248 seconds]
bauen1 has joined #osdev
FreeFull has joined #osdev
frkazoid333 has joined #osdev
tsraoien has joined #osdev
<geist> heat: yah, i bumped into that with switch to gcc 12 a while bavk
<geist> annoying, i have some code in the LK build to detect if it needs that switch or not
<geist> while i dont mind the verbosity of the -march switch for riscv in this case, it's kinda annoying because it takesn on the responsibility of a lot of features (floating point notably) and it must be specified once
<geist> ie, you can't do a `-march+=....` or whatnot
<geist> so for the LK build it has to synthesize one out of 4 or 5 different march strings based on a bunch of variables
<mjg_> looking for a sucker with a decently cored linux box who can run go 'garbage' benchmark + perf record it
<geist> oh yeah? what decently coreness are yo interested in?
<mjg_> 40+
<mjg_> well i'm fine even with threads
<geist> ah my main desktop is 32
<geist> i have a 256 thread ARM box though
<mjg_> the arm one sounds fine
<geist> sure
<geist> might not get you what you want, but it'd be interesting anyway
<mjg_> to add some context, the 'garbage' bench is using crap legacy profiling on freebsd which turbo serialized on a lock
<mjg_> making it the dominant bottleneck
<geist> ah i see
<mjg_> i want to know what happens on linux
<mjg_> it's the getitimer/setitimer stuff
<mjg_> i have hever seen it used apart from this case fwiw :->
bauen1 has quit [Ping timeout: 248 seconds]
<bslsk05> ​golang/benchmarks - Benchmarks for the perf dashboard (37 forks/124 stargazers/BSD-3-Clause)
<mjg_> youu may run into installation woes though
<geist> oh yeah?
<mjg_> i have go 1.19 and for that one GOBIN=$PWD go get golang.org/x/benchmarks/...
<bslsk05> ​golang.org <no title>
<mjg_> .. fails
<mjg_> go install golang.org/x/benchmarks/garbage@latest worked from git clone of go itself
<bslsk05> ​golang.org <no title>
<mjg_> baiclaly if there is trouble and no easy fix, scratch it
SpikeHeron has quit [Quit: WeeChat 3.6]
<geist> does it need recent go? apt-get of go seems to net 1.13
bauen1 has joined #osdev
<mjg_> that's ok
<mjg_> then the above command will likely work fine
<geist> hmm, might be too early a version
<geist> go/src/golang.org/x/sys/unix/syscall.go:83:7: undefined: unsafe.Slice, etc
<bslsk05> ​golang.org <no title>
<mjg_> what distro is this?
<geist> ubuntu 20.04.5
<mjg_> huh
<mjg_> fwiw i got 1.18.1 on 22.04.1
<mjg_> scratch it then, i'll probaby just spin something up later on ec2
<geist> yah i have an action item to update to 22.04, but it's an arm box that i'd rather not reinstall, so i want to do it the uber safe way and save a disk image first, etc
<geist> i'm doing the uber build in their readme on that repo now and it seems to be doing something
<geist> so maybe it's bootstrapping the whole thing
<geist> totally silent though, i haaaaaate tools that are silent
<mjg_> my laptop updated 20 -> 22 no problem :>
<mjg_> i built with GOOS=freebsd GOARCH=amd64 ./bootstrap.bash , did not take long
<geist> yes, again i have very little reason to believe it wont update, but i want to do it safe
<geist> because i honestly dont know how to reinstall this box. it's a bigass arm server box
<geist> and may or may not clean install. i was given it with 16.04 on it, and have upgraded it ever since
<mjg_> no ipmi?
<geist> not that i'm aware of. or it does and i dont have the password to it, etc
<mjg_> so it never crashed?
<geist> what do you mean?
elastic_dog has quit [Ping timeout: 244 seconds]
<mjg_> never any issues requiring anything but ssh?
<geist> no there's a serial port
<geist> but it is exceptionally stable
<geist> not sure i've ever seen it crash
<mjg_> nice
<geist> again, it's just a UEFI ARM box, so nothing magic, but i'd rather not reconstruct how to manually install it (though it's probably just fine off a usb stick)
<geist> but when i do upgrades i save a disk image first so i can roll back
<mjg_> ye makes sense
<mjg_> my toys all have pxe boot and have ipmi, but i inherited it this way
<geist> too bad they're not gonna make these any more. it's a Marvell Thunder X2
<geist> but i think they got out of the biz, no more x3s
<geist> or at least available to consumers
elastic_dog has joined #osdev
<geist> ugh. i built a toolchain on ubuntu 22.04 and it wont run on 20.04 because it requires GLIBC_2.32
<geist> i though these sort of version nonsense weren't that common anymore
<geist> i haven't personally seen this sort of thing in a while, but maybe glibc rolls it's version more often nowadays
<mjg_> scrap it man
heat_ has joined #osdev
heat has quit [Read error: Connection reset by peer]
<geist> done!
<geist> yah if it weren't go i'd give it more of a shot but honeslty i know very little about how to drive go
<geist> and it has it's own way of doing things
dude12312414 has joined #osdev
<geist> but it is entertaining to see 256 threads run
dude12312414 has quit [Client Quit]
<mjg_> thanks for looking into it
SpikeHeron has joined #osdev
tomaw has quit [Quit: Quitting]
frkazoid333 has quit [Ping timeout: 244 seconds]
tsraoien has quit [Quit: WeeChat 3.6]
wxwisiasdf has joined #osdev
tomaw has joined #osdev
tsraoien has joined #osdev
<wxwisiasdf> Uh
<wxwisiasdf> PS/2 is firing interrupts **too fast**
<wxwisiasdf> I can confirm it's PS/2 because not sending an EOI ceases the IRQs from firing
<wxwisiasdf> It fires IRQs so fast it softlocks the system? :^)
<clever> ive done that before on the rpi, cant remember which peripheral was to blame
<clever> setting the irq masking registers to a more sane state fixed it, linux assumed things where already masked off
<wxwisiasdf> What is "sane"
<clever> in this case, disabling every irq
<wxwisiasdf> :^)
<bslsk05> ​github.com: lk-overlay/intc.c at master · librerpi/lk-overlay · GitHub
<clever> linux assumes all irq's are masked, sets up the irq handler, and turns the global irq enable on
<clever> it then immedaitely soft-locks, with an irq its not expecting, and cant clear, because that driver hasnt loaded yet
<wxwisiasdf> but the thing is
<wxwisiasdf> i already loaded the drivers and stuff
<clever> yeah, that sounds different
<wxwisiasdf> it handles the IRQ as it would, but it's firing too much
<clever> check the ps2 state, is it happy, does it have data pending?
<wxwisiasdf> every write/read checks the status before performing r/w
<wxwisiasdf> lol
<wxwisiasdf> it was because i was sending 235 to the mouse
<wxwisiasdf> requesting the last packet, but that didn't "pop" it from the data queue so it infinitely sent packets it never flushed so yah
<clever> thatll do it
zid has quit [Ping timeout: 260 seconds]
<wxwisiasdf> Ah, now it's softlocking in random times
<wxwisiasdf> Sweet
zid has joined #osdev
saltd has quit [Remote host closed the connection]
smach has joined #osdev
cooligans has joined #osdev
cooligans has quit [Remote host closed the connection]
<zid> Good news, we had a brownout and now I have more ram
wxwisiasdf has quit [Ping timeout: 268 seconds]
GeDaMo has quit [Quit: Physics -> Chemistry -> Biology -> Intelligence -> ???]
<remexre> i'm implementing a posix subset, and wondering -- is there any point to dup2() if process spawning doesn't use fork()/exec() ?
<geist> i think it's the only way you can close a fd and open a new one in exactly that spot, right?
<geist> or is there another open() variant that lets you specify the target fd?
<remexre> I mean, I don't know that there's a use for that -- I've only used it myself in code between fork() and exec()
<geist> oh sure, but you can imagine there is code that maybe wants
<zid> there isn't *really* a use for it, as long as the kernel guarentees sequential fds, and I think it does
<geist> say you want to redirect some thing to another spot
<zid> so you can always just track it yourself
<geist> well as i said if you wated to 'swap' what a fd points to with another one
<geist> outside of the exec context
<zid> but you may as well implement dup2 only
<zid> then implement dup with dup2
<geist> well, that that was the original question
<geist> my point is there might be some use cases where some code expects to be able to do that, outside of the exec context
<geist> since there's otherwise no way to say 'open a new file but only if the fd is N'
<remexre> geist: okay, yeah, I can imagine that, though I don't know that I would want programs to be doing that, heh
<remexre> zid: would you envision exposing a "get lowest free fd" call to userspace then, and composing those rather than implementing dup() in the kernel? (ignoring some questions of atomicity)
<geist> yah that'd be a toctau problem, but if you'd like
<geist> frankly the bin packing of fds s one of the lamest parts of the posix spec
<geist> it implies you have to make your code work a certain way and it's a huge source of security bugs and general errors
<zid> yea don't do it userspace side that defeats all the points
<mjg_> there is a legit use in that you may want toe xpose debug or other data at a known fd
<zid> there's also a dup3 but I have no idea what it does
<mjg_> then someone can /proc/you/fd/thatone
<remexre> zid: cloexec flag
<remexre> mjg_: like, it's the "other end" of a socketpair() that someone else would cat? that seems kinda ugly... tho pretty much anything but maybe readlink() in /proc/.../fd/ feels ugly to me...
frkzoid has joined #osdev
wxwisiasdf has joined #osdev
<mjg_> not socketpair
<mjg_> this is for debug where you want the prog to dump what it is
<mjg_> then you can inspect it at a known fd number
<mjg_> not saying it is a great idea, but it is a legitimate use
<remexre> sorry, I don't understand what "it" refers to in "dump what it is"
<mjg_> i had seen it with something ruby, which write down what modules are loaded and wahtnot
<mjg_> then when trying to figure wtf is going on you can cat that fd
<remexre> oh, like it's a real file on disk that it just holds open there? or it sizes a pipe to have a large enough buffer?
<remexre> I thought you mean that logs would be continuously streamed there
<mjg_> more like an unlinked file or an shm one
<remexre> hm
<remexre> yeah, I'm gonna do dup2, but I don't know how much i like that usecase...
<mjg_> personally i don't think i would have done that, but i don't remember all the constraints
<mjg_> ruby is a nasty piece of shit
<mjg_> or at least was last time i looked
CYKS has quit [Ping timeout: 268 seconds]
<geist> mjg_: ah yeah, that's a legit use, indeed
kof123 has quit [Ping timeout: 268 seconds]
matt__ has joined #osdev
heat has joined #osdev
frkzoid has quit [Ping timeout: 248 seconds]
heat_ has quit [Read error: Connection reset by peer]
matt__ has quit [Ping timeout: 244 seconds]
heat_ has joined #osdev
matt__ has joined #osdev
matt__ is now known as freakazoid333
heat has quit [Read error: Connection reset by peer]
jjuran has quit [Ping timeout: 252 seconds]
jjuran has joined #osdev
jjuran has quit [Remote host closed the connection]
jjuran has joined #osdev
epony has joined #osdev
heat_ has quit [Read error: Connection reset by peer]
kof123 has joined #osdev
heat has joined #osdev
wxwisiasdf has quit [Ping timeout: 248 seconds]
tsraoien has quit [Ping timeout: 268 seconds]
wereii has quit [Quit: ZNC - https://znc.in]
wereii has joined #osdev
wxwisiasdf has joined #osdev
<heat> geist, i dont get what the point of having those two extensions (csrs and ifences) separate
<heat> probably super embedded stuff, but dont these things already exist in all arm cpus?
freakazoid333 has quit [Ping timeout: 244 seconds]
wereii has quit [Quit: ZNC - https://znc.in]
wereii has joined #osdev
ecs has quit [Remote host closed the connection]
ecs has joined #osdev
<geist> yeah probably because some embeddeds might not need any
<geist> the ifences in particular, but yeah the CSR bits seem a bit picky
<heat> i would assume ifences could just be nops in those cases
<heat> no biggie
<geist> yeah dunno
<geist> some of the bigwigs hang out in #riscv, might be a good question
<heat> so my llvm lto toolchain build is broken
<heat> but only in github actions
<heat> i dont understand wtf is going wrong, but it seems that it doesn't want to link some stuff or links in the wrong stuff
<heat> an update to the CI ubuntu image fixed it
<heat> problem solved baby