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
<nikolapdp> lol
<bslsk05> ​'Marcus Grönholm: Up in the ass of Timo (Uncensored HD Re-up)' by Vuusteri (00:00:28)
navi has quit [Quit: WeeChat 4.1.2]
<nikolapdp> lol
<nikolapdp> you do have some very good drivers
<zid> That's because that's how finnish roads work
<nikolapdp> lol
<zid> they show up at a rally and win, but thought they were just going to the shop
<zid> like when a dog wins a marathon
<nikolapdp> what about f1 then
<zid> they don't have good f1 drivers
<nikolapdp> raikonen?
<zid> They have cold ass killer drivers
<nikolapdp> that works too
<zid> "Why were you late to the press conference?" "I was taking a shit" *walks away*
<nikolapdp> chad
<zid> gog: WAKE ME UP
<gog> WAKE ME UP INSIDE
<zid> hahahaha
<nikolar> Good old evanescence
<zid> interesting, I clicked a random remix of one of the ost tracks from Uplink
<zid> and apparently one of their other remixes is.. boa - duvet!?
<zid> Am I being spied on
<zid> do they know my taste too much
<zid> (I hate these mixes though, sadly)
<adder> Speaking of remixes: https://www.youtube.com/watch?v=IX9FXinBkbg
<bslsk05> ​'ERIC B. & RAKIM. "Paid In Full" (seven minutes of madness-the Coldcut remix).1988. vinyl 12".' by joaquinnieto misummergrooves (00:07:10)
<zid> what on earth
Gurkenglas has quit [Ping timeout: 250 seconds]
<zid> I thought you were serbian
<zid> not a gangsta rapper
<nikolar> What
<adder> I'm not, I'm just currently in a hip hop phase (was samba previously).
<nikolar> Oh I'm dumb
<zid> not serbian smh
<nikolar> Out of curiosity, what would you expect from a serb zid
<zid> albanian gangsta rap
<zid> french breakcore
<zid> german techno
<nortti> turbofolk
<zid> russian folk music happy hardcore
<bslsk05> ​'Russian Happy Hardcore - Ne Otdam / Не Отдам' by Artem Akbirov (00:05:22)
<nikolar> Why do you think we'd ever listen to Albanian anything lol
<zid> cus of your close cultural alignment
<adder> Ah, I did have a dark minimal phase, so not too far off.
<zid> and respect for each other
<zid> (this is actually pretty good, I might listen to the entire track)
<zid> https://www.youtube.com/watch?v=Z0DO0XyS8Ko #1 in serbia for 40 weeks
<bslsk05> ​'Sandu Ciorba - Pe cimpoi' by Viper Production (00:02:08)
<nikolar> The pinacle of Romanian music
<adder> The damn headphones are clamping me so hard.
<zid> mine are stretched out and loose
<zid> I have to take em off and squish em for a while
<zid> else everything is quiet and they fall off
<zid> Okay, I have a SULPHUR TRAIN
<zid> I just need.. chemical factories
<zid> where does one get those
<nikolar> TRAINS
<gog> choo choo
heat__ has joined #osdev
heat_ has quit [Read error: Connection reset by peer]
heat__ is now known as heat
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
netbsduser` has quit [Ping timeout: 264 seconds]
ramenu has left #osdev [Leaving]
<zid> I forgot to add the best (extended cinematic universe) british song: https://www.youtube.com/watch?v=92ydUdqWE1g
<bslsk05> ​'Tunak Tunak Tun Video | Daler Mehndi | Full Song | Daler Mehndi Music' by Daler Mehndi Music (00:04:16)
lunaspis has quit [Quit: leaving]
Goodbye_Vincent has quit [Quit: Ping timeout (120 seconds)]
<nikolar> Oh yeah
<nikolar> Great song
smeso has quit [Ping timeout: 264 seconds]
* adder completes an exercises after 24h
<adder> s/exercises/exercise/
<heat> what exercise
<zid> one situp
<adder> Very, very, hate self-studying.
<adder> Game theory.
Terlisimo has quit [Ping timeout: 264 seconds]
j`ey has quit [Ping timeout: 268 seconds]
Goodbye_Vincent has joined #osdev
smeso has joined #osdev
j`ey has joined #osdev
[Kalisto] has quit [Quit: Ping timeout (120 seconds)]
Terlisimo has joined #osdev
[Kalisto] has joined #osdev
<adder> For the curious: https://i.imgur.com/tdSxXMD.png The problem was that I was unsure what's the other backward-induction solution. Should the blue arrow be on 'd' or 'e'? And a good soul in ##math pointed out that it the payoffs end up being equal, so...
<bslsk05> ​i.imgur.com <no title>
<zid> I considered it, now what
<gog> hi
<zid> gog: Did you tunak tunak tun yet
<gog> i did i even did the dance
<heat> think you the shit?
<heat> you're not even the fart
<zid> k heat
<klange> you're not even the slight bit of gas that turns out to be nothing
valshaped7424880 has quit [Quit: Gone]
valshaped7424880 has joined #osdev
<nikolar> K
Arthuria has joined #osdev
valshaped7424880 has quit [Client Quit]
<adder> nikolar: Work tomorrow?
<nikolar> Yeah
<adder> You were supposed to be asleep 2 hours ago. :)
<nikolar> Sleep is for the weak
valshaped7424880 has joined #osdev
Arthuria has quit [Ping timeout: 264 seconds]
heat_ has joined #osdev
heat has quit [Read error: Connection reset by peer]
[_] has joined #osdev
solaare_ has quit [Ping timeout: 256 seconds]
solaare has joined #osdev
[itchyjunk] has quit [Ping timeout: 268 seconds]
gog has quit [Quit: byee]
pretty_dumm_guy has quit [Ping timeout: 252 seconds]
linear_cannon has quit [Remote host closed the connection]
linear_cannon has joined #osdev
Arthuria has joined #osdev
ski has quit [Remote host closed the connection]
heat_ has quit [Ping timeout: 264 seconds]
<adder> Not only I cannot program, but I am also fat. How catastrophic is that?
zid` has joined #osdev
zid has quit [Ping timeout: 268 seconds]
linearcannon has joined #osdev
linear_cannon has quit [Ping timeout: 260 seconds]
zid` is now known as zid
<zid> That's better, my internet restarted and now it doesn't suck
<zid> probably needed to resync anyway
Arthuria has quit [Ping timeout: 256 seconds]
linearcannon has quit [Ping timeout: 264 seconds]
zetef has joined #osdev
* geistvax yawns
* zid throws a grape
<geistvax> om nom
<zid> is that the sound of one lung chewing
<zid> geist I have some good advice for you, ask a vax user
<zid> as a*
<geistvax> yeah?
<zid> don't sit on the floor without a plan for how you're going to get back up
<Mutabah> cheeky :)
<zid> I talk a lot of shit for someone who can't function if the seam on my sock is in the wrong place
<Mondenkind> would you like me to denigrate and berate you?
<adder> In a Scottish accent please.
zetef has quit [Ping timeout: 268 seconds]
pretty_dumm_guy has joined #osdev
Celelibi has quit [Ping timeout: 256 seconds]
goliath has joined #osdev
Celelibi has joined #osdev
weinholt has quit []
zetef has joined #osdev
zetef has quit [Ping timeout: 260 seconds]
exit70 has quit [Quit: ZNC 1.8.2+deb3.1 - https://znc.in]
exit70 has joined #osdev
vdamewood has joined #osdev
Nixkernal has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
gog has joined #osdev
gbowne1 has quit [Quit: Leaving]
<kof123> there's more gogs in other rooms: > ohmycat left the room
Nixkernal has joined #osdev
vdamewood has quit [Ping timeout: 240 seconds]
vdamewood has joined #osdev
zxrom has joined #osdev
<gog> hi
<gog> i'm gogging
<vdamewood> I'm vdamewood
* vdamewood gives gog a fish
* gog chomp fishy
<zid> don't gog too hard
<zid> you wouldn't want your gogs showing up on the internet afterwards
<gog> my gogs are already old news
<zid> dang
<zid> onlygogs account?
<gog> yes
<gog> there aren't that many gogs believe it or not
<gog> i'm the only gog
<gog> oh wait there's gog.com
knusbaum has quit [Ping timeout: 260 seconds]
<zid> onlygogs has two members, you and gog.com
<gog> yes
<vdamewood> I got games from gog.com.
<vdamewood> Might and Magic 1 to 6.
<zid> I got games from gog
<zid> xdcc
<gog> there's a final fantasy sale on steam and i'm strongly considering dropping about 20 euro on four game
<zid> PR?
<gog> vii, viii, x and x-2
<zid> oh
<zid> I have 8 and x+x-2
<gog> i really, really enjoyed 8
<zid> 8 is bad technically, but the card game is fun, and the story isn't bad
<zid> 8 has *issues* with its combat/stat system
<zid> meanwhile X is amazing on that front
zxrom has quit [Quit: Leaving]
<gog> yeah everyone being a summoner and having their stats impacted by which GF's they're connected with is kinda wack
<gog> i like having one summoner
zxrom has joined #osdev
<gog> i liked x a lot too
<zid> it's more the fact that fighting makes you weaker, cards is what makes you stronger
<zid> and you can be so strong that nothing can even touch you
<zid> or so weak that the bosses are impossible
<gog> huh
<gog> i was the latter
<gog> i guess i didn't play the card game enough
<gog> i had a really hard time with the bosses
<zid> run from every random battle and the game is trivial no matter what you do
<gog> maybe that's a lesson
<zid> The 'optimal' way to play is literally to just run from everything, until boss AP gets you card mod
<gog> choose your battles
<zid> then card mod the cards into 99 of all the t3 magic
<zid> and have max stats at level.. 7?
<zid> for some reason that's squall's starting level
<zid> so all the mobs have minimum maxhp
<zid> and you have 9999 hp 255 str
<zid> or was it 13..
<zid> oh and all the GFs are missable items, and the normal psx release had no chocobo world which locked you out of a whole suite of interesting items
<zid> steam release has a chocobo world emulator with it though!
<zid> You can just play chocobo world and get it to give you all the best items in the game before you start playing though, so that doesn't "fix" how broken the combat is though :P
<zid> ff9 also has a fucked up broken stat system, now that I'm ranting
<zid> You gain stats based on what plusses to stats your equipment gives when you level up
<gog> i didn't enjoy ff9
<zid> so the only way to get highest possible stats, is to play through nearly the entire game at level 1
<zid> then do all your levelling while wearing endgame gear
<gog> a lot of people say it was the second best of the psx era
<gog> because obv vii was the best overall
<zid> also the speed stat is completely broken, the game is turned based so your speed stat does basically nothing unless you could get double someone else's speed and get 2 moves per move
<zid> 9 has a *great* theme and story and stuff
<gog> that's what zidane was good for really
<zid> you can't actually pull that off unless you party a level with a level <big> zidane
<zid> level 1 with*
<zid> the atb fills at like 65535/64+speed frames or whatever, so you'll never have enough speed to actually outspeed a team-member who isn't slowed
<zid> to let zidane attack twice for each of those
<zid> it just means his ATB charges first every round
<zid> oh, and while you're doing the "beat the entire game at level 1 challenge!"
<zid> You're also on a 10 (PAL) or 12 (NTSC) hour timer to do so
<zid> else you miss excalibur 2
<zid> and also damn near every item is missable, so you're also doing 'all collectables' in those 10 hours
<zid> It's a very very good game for a first playthrough
<zid> It's almost as trash as 8 for a "10th playthrough and I know what I'm doing" playthrough
<zid> meanwhile I've got 600 hours in FFX
<gog> i definitely don't have that many hours
<gog> i only played through once
<zid> I have 189 hours in steam from 2 100% playthroughs, and I did 3 on ps2
<zid> FFX has a near perfect endgame/stat raising system
<zid> other than the bullshit that is catching simurgh and tonberry for the arena
<zid> FF7's endgame stat raising system is *insane*, you have to fight guys that only yuffie can hurt who die in like 5 hits, to get 1 stat point for 1 character, and you have 8 characters and 8 stats
<zid> that need like 200 raises
<zid> and the fact yuffie can hurt them is probably just a bug :P
<zid> The endgame sidequests are rad as hell though
<zid> (gold chocobo -> ruby/emerald weapon)
Nixkernal has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
Nixkernal has joined #osdev
<kof123> > simurgh there's a simurgh ? :D
Left_Turn has joined #osdev
<kof123> > Theres no one specific spot it spawns in more than others, but rather the key is that it only spawns in areas of sunlight
<nikolapdp> SUN MICROSYSTEMS
<zid> in honzuki? I don't think so
Cindy has quit [Ping timeout: 252 seconds]
GeDaMo has joined #osdev
netbsduser` has joined #osdev
Cindy has joined #osdev
netbsduser` has quit [Ping timeout: 276 seconds]
Cindy has quit [Ping timeout: 272 seconds]
heat_ has joined #osdev
lojik has quit [Quit: ZNC 1.8.2 - https://znc.in]
lojik has joined #osdev
nyah has joined #osdev
bauen1 has quit [Ping timeout: 272 seconds]
knusbaum has joined #osdev
<Ermine> If Sun microsystems is so good where's moon systems?
<heat_> mon systems
netbsduser` has joined #osdev
valshaped7424880 has quit [Read error: Connection reset by peer]
valshaped7424880 has joined #osdev
zxrom has quit [Quit: Leaving]
junon has joined #osdev
navi has joined #osdev
<Ermine> mon
GeDaMo has quit [Ping timeout: 264 seconds]
bauen1 has joined #osdev
m257 has joined #osdev
asarandi has quit [Quit: WeeChat 4.1.1]
asarandi has joined #osdev
zxrom has joined #osdev
lunaspis has joined #osdev
edr has joined #osdev
Gurkenglas has joined #osdev
navi has quit [Quit: WeeChat 4.1.2]
m257 has quit [Quit: Client closed]
m257 has joined #osdev
Left_Turn has quit [Ping timeout: 256 seconds]
[_] has quit [Remote host closed the connection]
m257 has quit [Quit: Client closed]
m257 has joined #osdev
Turn_Left has joined #osdev
<nikolapdp> Ermine: sun is better than moon obviously
<mjg> crapper microsystems
<nikolapdp> SOLARIS
<mjg> sun microsoft
<nikolapdp> sun at least opensourced stuff
<mjg> so did microsoft!
<mjg> for real
<nikolapdp> the kernel?
<bslsk05> ​microsoft/MS-DOS - The original sources of MS-DOS 1.25 and 2.0, for reference purposes (2716 forks/17668 stargazers/NOASSERTION)
<nikolapdp> or anything that actually matters
<mjg> kernel only somewhat
<mjg> there was a license for students to look at it
<nikolapdp> that's not open source
<mjg> but when it comes to actual opensource AND something of use, i don't know of anything
<nikolapdp> i know one thing
<kazinsal> it's MIT licensed
<kazinsal> that's open source
<mjg> they did opensource a bunch of lollers
<mjg> like the file manager from windows 3.11
<nikolapdp> WINDOWS TERMINAL
<mjg> (lol)
<bslsk05> ​microsoft/terminal - The new Windows Terminal and the original Windows console host, all in the same place! (8324 forks/92692 stargazers/MIT)
<nikolapdp> MIT
<nortti> wasn't it the NT 3.5 version that got open sourced, not the 16-bit one?
<Ermine> mjg: even file manager got stolen for some reason
<bslsk05> ​microsoft/winfile - Original Windows File Manager (winfile) with enhancements (695 forks/6555 stargazers/MIT)
<nikolapdp> lol with enhacments
<mjg> the code, unsurprisingly, is utterly terrible
<mjg> like for real
<mjg> intern-level
<nikolapdp> is that really that surprising
<kazinsal> standards were different 35 years ago I guess
<nikolapdp> for a file manager from 3.1
<Ermine> I mean, two mofers made a company which plagiarized libreoffice, win3.11 file manager and thunderbird
<nikolapdp> kek
<Ermine> nortti: 3.5 got leaked afaik
<mjg> nikolapdp: no
<mjg> old unix code is also mostly bad
<nikolapdp> see
<mjg> but i would say a notch above intern :p
<Ermine> re ms-dos: this code is high level, you need to add your own code to boot it
<nikolapdp> kek fair enough
<mjg> i have to give credit to solaris here
<kazinsal> yeah, iirc the released MS-DOS stuff is missing the io.sys/ibmbio.com bits
<nortti> Ermine: at least the v1.25 builds a full system for an s-100 bus machine. if you want to run it on a pc-compatible, true
<mjg> while numerous ideas were stupid, should ignore this aspect, their implementation was quite decent
<mjg> contrast with typical unix being bad in both aspects
<nikolapdp> they were competent at exectution
<nortti> I had a project to add PC-compatible io.sys and bootloader at https://ahti.space/git/nortti/ordos, got it to the point reading 320K floppies worked and haven't really touched since
<Ermine> mjg: is it sun engineering ethos thing?
<bslsk05> ​ahti.space: nortti/ordos - ordos - Ahti Gitea
<nikolapdp> lol it's complaining about carriage returns in the readme
<nortti> oh so it is
<Ermine> lmao
<gog> amogOS
<mjg> solaris mogs onyx
<mjg> no question
<kof123> > I mean, two mofers narrator: we see the bad influence of the mjg at work /s
<nikolapdp> O N Y X
<nortti> kof123: who's the other mofer?
heat has joined #osdev
heat_ has quit [Read error: Connection reset by peer]
<kof123> it was an er mine quote ...impressionable young innocent ermine
heat has quit [Ping timeout: 260 seconds]
m257 has quit [Ping timeout: 250 seconds]
<gog> why is the code for winfile bad?
<gog> out of curiosity
<gog> i can see things i don't like about it already but a lot of that is windows API nonsense
<kazinsal> as a whole I wouldn't say it's bad, it's just very circa 1990
<kazinsal> it's got all the nasties of K&R C mixed with the nasties of winapi
<gog> typedef struct tagDNODE {}
<gog> what's the point of struct when you can just typedef away everything
<gog> but still add a fucking tagTYPE
<gog> stupid
<Ermine> kof123: mjg's style is quite expressive, so it influences me
<kof123> (paraphrase) my men remember what i tell them -- patton on swearing IIRC
Gurkenglas has quit [Quit: Client closed]
FreeFull has quit [Remote host closed the connection]
netbsduser` has quit [*.net *.split]
vdamewood has quit [*.net *.split]
goliath has quit [*.net *.split]
sbalmos has quit [*.net *.split]
m3a has quit [*.net *.split]
pounce has quit [*.net *.split]
energizer has quit [*.net *.split]
nickster has quit [*.net *.split]
bradd has quit [*.net *.split]
Bitweasil has quit [*.net *.split]
helene has quit [*.net *.split]
kkd has quit [*.net *.split]
sprock has quit [*.net *.split]
Yoofie has quit [*.net *.split]
remexre has quit [*.net *.split]
citrons has quit [*.net *.split]
mjg has quit [*.net *.split]
ppmathis2 has quit [*.net *.split]
andreas303 has quit [*.net *.split]
raggi has quit [*.net *.split]
ppmathis has joined #osdev
sprock has joined #osdev
m3a has joined #osdev
netbsduser` has joined #osdev
goliath has joined #osdev
sbalmos has joined #osdev
kkd has joined #osdev
Bitweasil has joined #osdev
Yoofie has joined #osdev
nickster has joined #osdev
raggi has joined #osdev
energizer has joined #osdev
remexre has joined #osdev
pounce has joined #osdev
bradd has joined #osdev
andreas303 has joined #osdev
vdamewood has joined #osdev
helene has joined #osdev
SGautam has joined #osdev
GeDaMo has joined #osdev
<ddevault> ayo my new x86_64 EFI bootloader works
mjg has joined #osdev
<gog> \o/
<nikolapdp> nice
<ddevault> (on qemu)
<nikolapdp> have you tried it on hardware
<gog> dang somebody already did an OS that runs bad apple
sbalmos has quit [Ping timeout: 256 seconds]
sbalmos has joined #osdev
<gog> vdamewood: it's fishy for dinner tonight!! >)))))°>
<nikolapdp> FISHY
<Ermine> ddevault: is it hboot? or something else?
goliath has quit [Quit: SIGSEGV]
k_hachig has joined #osdev
k_hachig has quit [Ping timeout: 264 seconds]
<adder> Morning.
<gog> hi adder
<gog> are you a half adder or a full adder?
<adder> I'm an 8-bit ripple carry adder.
<gog> nice
<bslsk05> ​'Modern Operating Systems' - ''
<mjg> meh
<gog> reject modernity, embrace tradition
<mjg> is that a good book today?
<mjg> i genuinely don't know
<adder> Yes, anything Tanenbaum is exceptionally good. :)
<mjg> i don't know man, have you seen minix?
<adder> Yeah, I know about minix. Is there something I'm missing?
navi has joined #osdev
<Bitweasil> ++ to "Worth the read."
<Bitweasil> And if it seems a bit out of date, don't worry, it's still relevant, that's the foundational stuff that everything modern is hacked on top of.
<GeDaMo> All those Intel security chips can't be wrong :P
<Bitweasil> I mean... yeah. That was hysterical, to watch all the people who'd been going on about how Minix wasn't used and was pointless and obsolete and such... sort of twist in the wind quietly.
<Ermine> MOS isn't focused on minix
<adder> Note however that the book I linked is not the Minix book. He has two books on kernels.
linearcannon has joined #osdev
<adder> This is the other one, and it's from 2022 or so, so it's not dated.
<Ermine> But I've read it partially and it made some things more clear to me
mavhq has joined #osdev
<Ermine> So I think it's nice introduction to the problem domain
<Ermine> But it doesn't replace actual practice and looking at real OSen (and talking to experienced people)
<Bitweasil> I've got a vintage copy of MOS around here somewhere too.
<Bitweasil> I think.
<Bitweasil> First or second edition.
<Bitweasil> Ermine, I think it's a very, very good foundation so you can at least understand the concepts well enough to talk to people and make sense. I've had the experience of trying to explain bare metal stuff to someone who's only ever written userspace code, and that was an uphill struggle... :/
<Bitweasil> "... no, there /is no printf/ to call. ... no, I can't just use the write syscall to the serial port, man, there is no kernel, there is no /nothing/ you don't bring with yourself."
<Ermine> yeah
<Ermine> Also stuff like paging, file systems, process and threads, etc
<Bitweasil> Talking to experienced people is fine once you have enough background to be able to understand things like "traps to the kernel/utility functions/etc" - syscalls, the various ways of doing that, etc. But if you don't have the understanding of "When you call printf, it jumps into a library, formats stuff, and then writes it to the kernel via this interface," the conversations are just... difficult. :/
<Bitweasil> Right.
<Bitweasil> If your view of memory is limited to "I mallocs it, I gets it!" - and you don't understand paging, virtual/physical memory, etc, the conversations are difficult.
<Bitweasil> ... and at least on Linux, all roads lead to the mmap syscall, it seems.
<Ermine> In such cases some assembly experience is alsp helpful
<Bitweasil> But I don't know how you bring up younger programmers in the dark arts of kernel/OS/etc development anymore. There's about 50 years of arcane crap that manages to remain still relevant. :/
<Ermine> It forces you to make syscalls directly
<nikolapdp> Bitweasil you let them figure it out by themselves lol
<nikolapdp> proof: me
<Bitweasil> I'm not sure I've ever written ring3 assembly. :) Lots of ring0 and below...
<Ermine> I want to write some
<Bitweasil> Though like my printf implementation, I tend to carry around a file of leaf assembly functions for all the hypervisory stuff that you have to drop out of C for.
<Bitweasil> Visual Studio, at least, won't let you do inline assembly for x86-64 anymore.
<Ermine> oof
<nikolapdp> why wouldn't it
<Bitweasil> So I have a lot of the leaf function "VMREAD rax, rcx; ret" sort of things.
<Bitweasil> nikolapdp, it's a reasonable compromise for compatibility. If you're doing inline assembly throughout the code, it won't build on ARM, or anything else.
<Bitweasil> If you move those leaf functions out, it's a lot easier to have your C compilers "do the sane things" automatically. See also MMX, SSE, AVX, etc.
<Ermine> That's why wiki.osdev.org recommends using gcc and unix systems
<Bitweasil> If you hand-code MMX, the compiler can't promote that to something else, but if you're using "generic vector functions," the compiler can make some better choices down the road.
<Bitweasil> Sure, I can't stand Windows, but the UEFI environment is intended to be mostly built in Visual Studio, so... _shrug_
<gog> you don't even need most of that crap
<nikolapdp> hello gog
<gog> hi nikolapdp
<Ermine> clang builds it just fine
<gog> yeh i use clang
<gog> and some headers i made myself copypasted from the spec
<gog> because i didn't like the GNU-EFI headers
<Ermine> yeah, the same thing
gog has quit [Quit: Konversation terminated!]
k_hachig has joined #osdev
SGautam has quit [Quit: Connection closed for inactivity]
heat has joined #osdev
<heat> i'm back from ikea
xenos1984 has quit [Ping timeout: 260 seconds]
<heat> adder, do note that all those books should be taken with a grain of salt, always
xenos1984 has joined #osdev
<heat> particularly when the author wrote fucking minix
<adder> heat: Genuine question: what's wrong with minix?
<adder> I like the whole idea how the kernel is minimal and communicates with e.g. process manager or whatever by passing messages. I think this is good engineering.
<heat> it's a crappy operating system thats only used as intel's dumping ground (in a proprietary fork!)
<heat> the best thing about minix is that it inspired linux
<kazinsal> it was originally written to teach students how microkernels worked while also running on an XT
<heat> say, if torvalds or dave cutler wrote a book, it'd be an interesting book, because they shaped considerable parts of the kernel landscape and know real problems and real solutions
<heat> but tanenbaum is an academic, he researches, he doesn't write real kernels, he doesn't deal with real problem
<heat> s
<heat> this is why i really respect paul mckenney's perf book. because even though he's /kind of/ academic, he's a real engineer and solved real problems and definitely knows what he's on about
<bslsk05> ​library.lol <no title>
<heat> yes, but it's FOSS
<bslsk05> ​mirrors.edge.kernel.org: Is Parallel Programming Hard, And, If So, What Can You Do About It?
<adder> Yeah, just found it.
<adder> Anyway. I wouldn't say Tanenbaum is a fool. But yeah, as an academic he certainly lacks "real-world" experience, I imagine.
selve has joined #osdev
<heat> i'm not saying he's a fool, i'm not saying the book is bad. i'm saying you should always take it with a grain of salt
<heat> even "real world" books should be taken with a grain of salt (for bias)
<adder> Agreed.
<adder> Why I respect Tanenbaum is the fact that he knows the full stack inside out, from solid state physics to software, and if he's like left stranded in a desert island, he'd just make a computer out of the sand, write the software stack, and email someone to come get him. :)
<heat> also (and this has been mentioned before) you don't need a book to write an os
<heat> Just Do It
<adder> I need to absorb some substance to at least articulate my questions here well enough.
<heat> do you know what C is? because that's most of what you need in order to write one
<adder> Yes. :)
<heat> these days the kids don't even need C anymore, they use RUST
<zid> They need it
<adder> But I have many unknonws in my head... For example, is e.g. a filesystem a program with int main() on its own, or does everything run in one huge main loop, and so on. I think going through the book will clarify things.
<zid> They just *want* rust
<zid> rust is like having a stripper as a gf
<heat> adder, a filesystem is just a way to structure data on-disk
<heat> (heck, not necessarily on-disk, but let's skip that)
<zid> in-memory filesystems are the one true filesystems
<heat> say, ext2 is a filesystem, so it's a particular way to structure data on-disk such that everyone that "reads ext2" understands that data and can interoperate
<heat> oh, also: kernels don't have main loops
<zid> mine does, but it also doesn't have proper tasks or smp yet
<zid> so it's still basically just a hello world program :P
<adder> Oh? I'm not sure how things would work without a main loop.
<zid> kernels are inside out
<zid> It's tempting to think of the kernel "calling into userspace" to run user code, but that isn't really a useful way to think
<zid> It's more than userspace program is running, and temporarily calls into parts of the kernel, which it has its own private copy of. It's like a bios rom.
<zid> or kernel32.dll
<zid> kernel32.dll doesn't have a "main loop", the user program might/does
<adder> So it's just a library?
<zid> not really, but it's not a *terrible* place to start your thinking
<adder> Is there int main() or not?
<zid> (like, it functions similarly, but that isn't what that word means)
<zid> only in that the kernel has to set some memory stuff up and switch to userspace the first time when it boots
<kof123> adder: where would int main() return to?
<zid> (/bin/init or whatever on unixen)
<kof123> who would get that return value?
<adder> Good question. :)
<adder> So, no int main.
<kof123> yes, make it void :)
<heat> yeah kernel is almost exactly like a very authoritative library
<zid> DllMain moreso than int main :P
<heat> you call into the kernel from userspace (or interrupts, but that's somewhat analogous to signal handling)
<heat> and those user threads just start running kernel code instead, just like that. no message loop
<adder> So the interrupt handlers... Are they running in a loop and servicing interrupts?
<heat> no
<zid> That.. would very defeat the point of interrupts
<zid> The point is that they, get this, interrupt you
<adder> What in the kernel needs to service interrupts?
<zid> It's very much like a function call that you suddenly run out of nowhere, you're happy running, copy your jpeg to memory and then BAM, you're suddenly running idt_handler_34_dispatch: mov ..
<zid> but, I should stop help vampiring
<heat> say your keyboard controller asserts irq line 1. The CPU gets the INT# pin asserted, it looks at something called the interrupt descriptor table and sees what the handler is, and runs it[1]
<heat> [1] if interrupts are enabled in the CPU, again, somewhat analogous to signal handling and signal masking
<adder> Ah. So, again, they just need to be there.
<heat> kernels usually have some threads running loops. the simplest one is the idle thread/swapper, that basically does "while (true) { save_power(); }"
<heat> or the writeback threads and/or the pagedaemon/kswapd threads, which handle requests or deferral from other parts of the kernel
<zid> That's just an edge case for 'what happens if *no* process needs to be ran?'
<zid> i.e everybody is blocked inside read()
<heat> yep
<nortti> there's also interrupt worker threads, which you might have if the interrupt takes longer to service
<heat> something like "pagedaemon" is more similar to a traditional message pump, where you send "hey, we really need to start freeing some memory" to pagedaemon, particularly if you can't do it at that moment in time
<heat> or the writeback threads that do "in 40s start writing the file cache to disk, kthxbye"
<adder> Alright. Thanks heat, zid. I'm not going to occupy the channel filling in the delta between what's needed and my current understanding, though. I think I can't go wrong with a book at this point.
<heat> aight
gog has joined #osdev
<netbsduser`> a lot of the kernels have general-purpose worker threads now
<netbsduser`> unless you are profoundly asynchronous like Managram there's little choice to having them if you would have async i/o at the filesystem level (disk level is much easier)
<heat> the disk level can also use worker threads
<heat> freebsd uses threaded irqs, linux has softirq but shifts those workloads to worker threads if they go on for too long
regreg has joined #osdev
Matt|home has quit [Ping timeout: 268 seconds]
xenos1984 has quit [Ping timeout: 256 seconds]
<adder> If I were to write a hello world that I wanted to run in qemu (for now), would I need to write interrupt handlers else my kernel crashes?
<heat> no
<bslsk05> ​wiki.osdev.org: Bare Bones - OSDev Wiki
<adder> Great. Thanks, heat.
jimbzy has joined #osdev
xenos1984 has joined #osdev
<Ermine> fucking minix <--- hey!
<mjg> hello world kernel can do literally nothing apart from some smudging over the vga area
<mjg> also fucking up your printf by off by one is kind of rite of passage
<zid> my cat has opened a hissing booth
k_hachig has quit [Ping timeout: 264 seconds]
<zid> she disappeared, I found her under the laundry airer, my reward for finding her was HSSSSSSSSSSSS
<mjg> your cat does not lvoe you
<bslsk05> ​lists.freebsd.org: Future of 32-bit platform support in FreeBSD
<heat> murder
<heat> are you behind this mjg
<heat> i know you like to kill off architectures
<nortti> TIL they still had powerpc
<zid> freeBSD-s
<nortti> seems reasonable enough to me tho, freebsd's never been that multiarchitecture minded from what I understand, and I'm not sure armv6 for example ever got full binary packages support
<nortti> and to be clear, I'm saying this as someone who just bought a first-gen raspi and weekly-drives 32-bit ppc and x86 for actual useful purposes
<nikolar> They dumped sparc in the previous release :(
<nortti> still supported on netbsd
<nortti> https://wiki.netbsd.org/attic_museum/ damn they supported 26-bit arm until 2017
<bslsk05> ​wiki.netbsd.org: The Attic Museum
<Ermine> my first android phone was armv6-based, and minecraft didn't support that
Matt|home has joined #osdev
Matt|home has quit [Remote host closed the connection]
<nortti> I also had an armv6 phone, but I think it was just before stuff started requiring armv7
<nikolar> Netbsd is pretty neat
Matt|home has joined #osdev
bauen1 has quit [Ping timeout: 240 seconds]
<zid> nikolapdp: Statements exclusively uttered by the deranged.
<mjg> heat: no
theruran has quit [Quit: Connection closed for inactivity]
<mjg> why do you know about it tho
<mjg> :X
<heat> cperciva's tweet showed up on my twitter feed for some reason
<zid> is cperciva also rederanged
<zid> I've never heard of them
<heat> why would he be rederanged? why not just deranged?
<mjg> ?
<mjg> why are you on twitter
<nikolar> That's a sign of a deranged man
<mjg> or as i recently started calling it, X
<Ermine> Why do you see yout twitter feed?
<zid> I thought twitter deeds were illegal now
<mjg> i thought twatter is millenial playground
<zid> musk banned them unless you paid $*
<heat> where else would i be? mastodon?
<zid> oh, so you MUST be a voyeur somewhere?
<mjg> discord
<mjg> which you are on
<mjg> :X
<heat> brb creating a threads account
<nikolar> Threads is still a thing?!
<mjg> greend threads!
<mjg> :X
<zid> heat only uses spoutable
<Ermine> What about on neither of them?
<zid> I already said that
<Ermine> except discord, but that's not a feed
<zid> but I extended that to every platform
<nikolapdp> GNU Social
<zid> gnu social doesn't count as social media btw
<heat> finally, a good idea
<heat> thank you
<nikolapdp> you're welcome
<Ermine> pixiv
<heat> mjg, i dont support threads, we fork() in my household
<nikolapdp> even better, vfork
<heat> vfork is not concurrent
<Ermine> then rfork, then clone{,2,3,4}
<nikolapdp> true
<heat> although i guess that's a plus, not a minus
<nikolapdp> indeed
<mjg> posix_vfork!
<heat> did you know: clone() has ~3 different syscall prototypes, depending on the arch?
<mjg> bro
<heat> subscribe for more linux kernel fun facts
<mjg> linux is such a clasterfuck
<zid> I did not
<nikolapdp> fun fact indeed
<nikolapdp> we love macro magic
<mjg> my fav bit is how their syscall tables are totally out of sync as well
<nikolapdp> for some reason
<mjg> like how did you even end up there
* kof123 the more you know <star> <rainbow> ...this is just another simurgh joke
<heat> great q
<nikolapdp> good question mjg
<heat> the i386 syscall table derives from SVR4
<heat> the mips one derives from SGI IIRC, and the SPARC one might derive from solaris
<nikolapdp> why though
<zid> heat: When are they going to upgrade it from a prototype to a real version!?
<heat> nikolapdp, attempts at binary compat
<mjg> ? :D
<nikolapdp> key word: attemtps
<mjg> is that true tho
<mjg> it would mean syscall calling convention is also the same
<heat> yes
<mjg> and we know they took liberties with it
<heat> have you noticed linux i386 and freebsd i386 and netbsd i386 and svr4 i386 all share the same first syscalls?
<mjg> no
<zid> how could ANYBODY 'notice' that
<zid> do you think anybody but you is staring at syscall numbers for obscure operating systems for forgotten platforms?
<mjg> did not davem girl non-kisser point out some optimizations for syscalls on sparc?
<mjg> which involve a different convention?
<heat> mjg has an unhealthy obsession for crappy unix systems too
<mjg> ye like onyx
<mjg> :X
<mjg> where are your numbers from
<heat> order of implementation
<zid> Have you considered having an unhealth obsession with tatsuo yamashita's 1983 hit 'merry-go-round'?
* merry go round / round and round / merry go round
<zid> hah
<zid> not quite the lyrics, but pretty close, hihi
<bslsk05> ​'Funky Cruisin' (1990) - Tatsuro Yamashita, Mariya Takeuchi' by scrimz. (00:53:18)
<merry> a classic
<heat> ahh i was trying to recall this
<zid> merry: Your *name* has the merry/mary merger? That's taking it too far.
<mjg> heat: ibcs is something i removed myself from freebsd
<mjg> :TWITTER
<heat> BLOODY MURDER
<zid> If you say so
* zid bloodily murders
<adder> Yes please, I would like to report a murder.
<zid> Heat made me do it, I am easily influenced and was being manipulated.
<heat> mjg, worth noting that linux eventually converged and now new archs use more or less the same syscall table
<heat> aarch64, riscv and loongarch at least
<heat> i don't know where they're putting architecture-dependent syscalls though
<nortti> do you know where the arm one comes from?
<geist> not sure their vdsos have though
<geist> they seem to be pretty bespoke per arch
<heat> arm's syscall table looks to be the same as i386's
<geist> side note: got a note on the freebsd announce list that they're going to phase out 32bit support over the next few releases
<mjg> this is how we landed on this subject
<mjg> :]
<mjg> what is not being whacked to my understanding is armv7 though
<mjg> for the time being anyway
<zid> yea that's what kicked off this discussion
<zid> heat was gnu socialling
mahk has quit [Ping timeout: 268 seconds]
<geist> ah
<mjg> however, i38-fucking-6 is going down
<mjg> which i'm happy with
<mjg> shite arch
<geist> ah yeah i see
<heat> :(
<nortti> mjg: armv7 is being killed too, just one release later
<heat> armv7 is planned to be axed in the release after this one
<zid> And both freebsd users are FURIOUS
<geist> well, as they point out freebsd hasn't been big on multiarch run on everything, they're more of a desktop/server thing
<mjg> ey
<mjg> remember the VAX roots
<mjg> shit talk aside it is a pragmatic choice to axe this stuff
<geist> yah
<mjg> even though armv7 is perfectly commercialy viable
<heat> remember the alamoVAX
<nikolapdp> no
<mjg> "no' what
<geist> armv7 is getting pretty hard to justify now, there aren't a lot of things that are armv7 now
<geist> note i think they didn't rule out leaving 32bit user support for a while
<mjg> i said viable, did not say a great pick
<nortti> where is it viable, out of interest?
<heat> the arm people have said on the LKML that armv7 with > 4G of ram is very much a thing
<nortti> huh
<mjg> nortti: there are shitty low cost routers for soho on it
<nikolapdp> interesting
<geist> sure, but only in that like 4 of those were made
<geist> yes technically the latter half v7 stuff has the page extensions, but it's only supported on a handful of cores + even less socs
<clever> the only armv7 (capable) i can think of, with >4gig of ram, is the pi4/bcm2711, but thats armv8 in v7 mode
<heat> no, they're being made actively, such that ARM is against a proposal for limiting 32-bit memory to the linux 800MB low mem stuff
<clever> it is capable of LPAE mode i believe
<mjg> look mons, it's a great win to not have to fuck with 32-bit
<mjg> in the kernel
<clever> and thats what kernel7.img vs kernel7l.img is, non-lpae vs lpae
<geist> LPAE yah, that was added in latter half v7, i think some of the later v7 cores like.... cortex-a7? a15? i think have
<heat> does freebsd have kmap?
<geist> mjg: bingo
<clever> mjg: well, when i'm trying to target devices like pi1 and pi2, v6 and v7 are my only options there...
<mjg> geist: don't tell heat but i was advocating for whacking all this shit 2 years ago
<clever> pi3 can do aarch64, but that means supporting arm variants!
<geist> ad yeah pi1 and pi2 are v6/v7,but they're also old
<mjg> geist: specdifically to not special case 32-bit wankers when writing new code
<heat> <heat> murder
<heat> <heat> are you behind this mjg
<heat> <heat> i know you like to kill off architectures
<geist> mjg: totally
<clever> geist: yeah, pi1 is pretty old, but for my projects, pi4 is blocked by dram init,and pi5 blocked by better secure-boot, so i cant really go past pi3
<geist> clever you better tell freebsd to get their shit together!
<mjg> no joke, part of the problem here is that one of the few people who were moving 32-bit arm along
<mjg> passed away in an accident over a year ago
<mjg> since then the arch was mostly rotting away
<geist> honestly most of my pis are in 32bit mode but mostly because whatever distro is on them for the purpose they're serving is 32bit
<heat> :(
<geist> yah and 32bit arm is far more of a mess to maintain than 64bit
<mjg> i don't even maintain the arch and it was a nuisance
<nikolapdp> lol
<mjg> due to strong alignemnt requirements
<mjg> and 3rd party code having different opinions
<geist> yah though to be fair that's a riscv thing now too
<heat> how is that a nuisance?
<heat> it's UB in C anyway
<clever> i thought alignment was optional? you can just turn it off in a control reg
<mjg> heat: it is ub which happens to work on x86 and armv8
<heat> turn on UBSAN mon
<geist> actually the main issue i was thinking that you might deal with in riscv is lack of DCAS
<nikolapdp> which means it's not ub in practice
<geist> clever: in v7 yes
<mjg> heat: you are missin the point
<mjg> heat: if it was local code i would just fix it
<mjg> heat: instead it's huge 3rd party
<mjg> heat: and armv7 is the only arch where it is acting up
<heat> doesn't sound like a kernel problem to me WONTFIX ok heat@
<geist> hmm, why on v7? or do you mean v6? v7 standardizes that unaligned is fine
<geist> ie, hardware ust support it
<geist> though performance may not be 100%
<nortti> on v6 I understand you can switch between v7 behaviour and v5-and-before behaviour, though that might just be the v6 socs riscos supports
<heat> yeah, but the performance hit is mostly always the case, even in x86_64 AFAIK
<mjg> i don't have the cpu model handy
<mjg> i'm not a big arm person, i could swear it is v7, but i can't rule out 6
<heat> are you a big leg person
<mjg> arm.LEG
<heat> having more arm reach is good in a fight, but leg reach is also really good
<heat> calf kick the fucker to KO
<mjg> geist: it is cortex a9
<mjg> geist: wiki claims it is armv7 like i said
<geist> ah yes. a9 is a pita
<mjg> geist: and the fucker kept getting crashes from misaligned access
<geist> a9 was the first SMP v7 core ARM had made, and it's quirky
<geist> that being said the misaligned stuff should be supported, but there's a bit you have to set in the SCTLR to enable it
<geist> dunno what freebsd's policy is on that
<geist> also i'm starting to page this back in again, even with that set some instructions dont handle unaligned and still toss a thing
<geist> atomics, etc, iirc
<mjg> vectorized?
<geist> i think that got tightened up a bit in v8
<mjg> well bottom line, no longer my problem :)
<geist> oh for vector instructions i have no clue. probably also has alignment requirements
<heat> not handling unaligned atomics is 200% reasonable
<geist> heat: word.
<mjg> that ia gree with
<nortti> does x86?
<heat> yes
<heat> see: split lock
<mjg> most notably not handling cross cache line
<mjg> right
<heat> mjg: <dhansen> I guess both of the FreeBSD users got rid of thier 32-bit hardware :P
<heat> lmfao
<geist> where you can get burned on ARM is no unaligned access on uncached memory
<mjg> you can tell the guy there is at least 2 which do still have it
<nortti> heat: I switched mine to running sortix + haiku dualboot
<geist> so you map some page uncached w/write combining so you can set up descriptors or something and then thec compiler emits unaligned stuff on it
<geist> because it thinks its legal
<nortti> oh yeah didn't that cause issues for GPU code on arm64?
<geist> probably. we've seen it in fuchsia too
<mjg> :)
<mjg> so how do you work around? atomic_store?
<geist> since with armv8 the compiler is free to emit unaligned accesses
<heat> volatile?
<geist> the example i've mentioned here before is some code was copying a struct with uint8_t[6] (mac address) to uncached page
<geist> the compiler happily emitted that as a pair of 32bit stores, one 2 byte misaligned
<heat> oooh clever
<geist> it coulda done a 16bit, bit on a lot of arm cores the 8 and 16 bit load/stores are known to be an extra cycle slower
<mjg> -fplease-dont-fuck-me
<heat> volatile semantics are super fucking iffy, but i *think* it would codegen something saner
<clever> one issue ive had in the past, i was reading an MBR partition table, and it had a 32bit? int in it, that was mis-aligned
<geist> mjg: there is a switch for it, actually. you need it to compile bootloader code or something pre-enabling the cache
<clever> but with the default compiler flags, gcc knew, and did 8bit loads
<heat> memcpy to device memory is mega fucked anyway
<clever> then i turned on some -O level, and gcc switched to 32bit load, because thats faster!
<clever> then things faulted :P
<geist> heat: yeah exactly. misaligned memcpy is a perfectly viable thing on armv8 at least
<geist> the compiler happily misaligns a store
<mjg> clever: cause you did not add -fplease-dont-fuck-me
<clever> mjg: my ugly fix, was to just memcpy each partition in the MBR to a buffer, that has better alignment
<geist> urgh i forget the switch. have had my head in riscv for the last year i've mostly paged out all the arm details
<heat> geist, yeh but memcpy to not-normal memory is mega undefined for most/all archs. I remember seeing a bug report on the arm64 glibc side on this, and they said "nope we're not rolling back the optimization, fix your code"
<geist> heat: yah we have some sort of 'safe memcpy' routine in the fuchsia driver sdk i think for this
<heat> lots of non-trivial instructions are completely mega borked on !regular memory
<heat> like cmpxchg on x86 uncached memory always stores
<gog> hi
<clever> i was just thinking, what might happen if you do a 64bit or 128bit store, to sram or peripheral space, over pcie......
<zid> it has to split it doesn't it
<nikolapdp> hello gog
<zid> pci-e controller sorts of that nonsense out
<clever> does pcie allow you to specify a bit width and burst size, or does it try to optimize and then fail
<zid> the sram-on-pci-e-bus can handle
<zid> being talked to via pci-e
<zid> else you know, it wouldn't be on the pci-e bus
<clever> double-checking the datasheet, it claims the sram has a 128bit bus
<clever> and the dram within the chip also has a 128bit bus
<clever> > The interconnect’s maximum burst length (16 beats) and data bus width (128b) have been chosen to correspond to the PCIe endpoint’s Maximum Packet Size (256B),
<clever> yeah, looks like its designed to be able to take an entire pcie packet, and convert it into a single axi burst
<clever> but if that burst is 128 bits wide, and hits a 32bit only peripheral.....
<clever> s/dram/dma/
<Bitweasil> "Don't do that stupid thing"? :p
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
<Bitweasil> Usually for a 32-bit peripheral with DMA, you'd be specifying shorter reads anyway, hammer the FIFO out into RAM or something.
<clever> yep
<clever> but ive discovered, doing 32bit reads hampers the dma performance, and limits it to ~500mbit
<Bitweasil> (read this 32-bit address repeatedly and blast it out into this region of memory, update your write pointer by 4 every write, bug me when you're done)
<Bitweasil> Sure, but if you're *reading a 32-bit peripheral...* :p
<clever> 64bit reads can get up to 800mbit, but the peripheral returns garbage in half of every read
<Bitweasil> I'm pretty sure on the old 8086s, DMA was slower than the CPU for memory moves.
<Bitweasil> But the important part is that the CPU is free to do other stuff.
<Bitweasil> DMA isn't always the fastest method, but it's the "in the background, often on spare bus cycles" method.
<clever> in my case, i can generate upwards of 6400mbit of data into the FIFO, and my problem is getting that to dram fast enough
<Bitweasil> On a Pi?
<clever> yes
<Bitweasil> Huh. Haven't been keeping up, what's your use case here?
<clever> the pi5 has a PIO block clocked at 200mhz
<clever> and with a simple `IN 32` opcode, it can read the entire gpio array into the fifo, on every clock
<Bitweasil> ... is that the "simple assembly to bitbang quickly" thing the RP2040 has?
<clever> exactly
<Bitweasil> Huh, neat. I didn't realize the Pi had that. I haven't really been keeping track of that world as much lately.
<Bitweasil> I'm mostly back to x86/Qubes. :/
<clever> on the rp2040, its clocked at 133mhz max (official, but people have overclocked it to 400mhz)
<clever> the pi5 doubled the fifo size, relative to the rp2040
<clever> other then that, its basically identical
<clever> the bigger difference, is outside of PIO, you now have a pcie link and up to 8gig of host ram
<Bitweasil> *nods* Cool, so they're really into designing their own chips now instead of just taking what gets blarfed out. I assume the Pi5 has a competent interrupt controller on it too?
<clever> so your no longer bottlenecked by 264kb of buffer and a usb1 link
<Bitweasil> *nods*
<clever> the RP1 is actually the ancestor of the rp2040!
<clever> but the rp2040 went public first
<clever> there are at least 4 interrupt controllers at play
<Bitweasil> RP1 is the Pi5 SoC?
<clever> the bcm2712 is the main SoC for the pi5
<clever> the RP1 is more of a southbridge
<Bitweasil> Huh. I should look at the sheet for it at some point. The last one I implemented was that godawful thing on the Pi2/Pi3, a "My First Multicore Interrupt Controller" grade abomination.
<clever> the bcm2712 has the main sd interface, the sdio for wifi, the hdmi, dram, 2d/3d, and a quad cortex-a76 at 2.4ghz
<clever> and 3 pcie root controllers
<clever> the RP1 has all of the gpio and its peripherals, csi/dsi, composite video, usb3, gigabit ethernet, PIO, and 2 cortex-m3's
<Bitweasil> *blinks* That's a good bit more respectable than I'd realized. You can interface with the M3s? And what's their RAM? Onboard SRAM, or do they just share main DRAM?
<heat> mjg: https://www.reddit.com/user/boutnaru this guy's KERNAL DEEP DIVEZ are a prime example of dunning-kruger
<bslsk05> ​www.reddit.com: Blocked
sprock has quit [Ping timeout: 255 seconds]
mahk has joined #osdev
<adder> Virtually all content on Reddit is low-quality imho.
<clever> Bitweasil: the RP1 has 64kb of shared sram, and 16kb + 16kb of private ram for the M3's
<heat> circlejerk subreddits are very high quality
<clever> Bitweasil: within the RP1, are ~3 irq controllers, a custom irq controller for merging all peripherals together and issueing a pcie irq, and then an NVIC for each M3 core
<clever> Bitweasil: some peripherals like gpio include 3 sets of interrupt status/mask registers, for core0, core1, and pcie
<clever> so you can interrupt a specific core, and not bother others
<clever> the bcm2712 has a arm,gic-400/gicv2 that does most of the work, plus the old VPU irq controller for the VPU cores
<clever> and i see some irq controllers i dont recognize in the 2712 as well.....
<heat> still a gic v2? isn't that old?
gbowne1 has joined #osdev
sprock has joined #osdev
<clever> heat: i do see a gicv4 on the arm.com site
<heat> yes, gicv4 is the newest gic AFAIK
<zid> nikolapdp: https://preview.redd.it/77s3ysjsc5ic1.png 1 point if you can tell me what this is
<bslsk05> ​redirect -> www.reddit.com: Blocked
<adder> heat: Which ones?
<nikolapdp> heat it's not loading for me lol
junon has quit [Ping timeout: 264 seconds]
<bslsk05> ​redirect -> www.reddit.com: Blocked
<heat> zid: it's not loading for nikola
<nikolapdp> oh i am dumb
<zid> heat: thanks, I'll link him the fixed one
<heat> adder, soccercirclejerk, nbacirclejerk, anarchychess (but this one is worse), hiphopcirclejerk
<heat> all great stuff
<clever> heat: what does v4 really add?
<heat> idk
<nikolapdp> zid: well the description says " Is your country singular or Plural in Polish "
<zid> fuck sake
<zid> Fucking reddit
<nikolapdp> literally
<zid> let me steal your fucking images
<zid> does it also work in serbian
zetef has joined #osdev
<mjg> heat: i'm not opening that
<nikolapdp> no, it's all signular
<nikolapdp> zid ^
<mjg> as i tried to denote i'm limiting my shit intake
<zid> polish > serbian then I guess
<mjg> in favor of quality content
<nikolapdp> zid lol why
<zid> more bananas
<mjg> heat: r/bookscirclejerk is ok at times
<nikolapdp> that's a weird way to represent that defeinitely
<nikolapdp> lol
zetef has quit [Remote host closed the connection]
<zid> heh that's funny, the broken pendant golem that drops the dlc wasn't *added* for ptde, they just fucking drag moved one from the forest outside
<zid> there's one missing wrt the non-dlc version of dark souls
bauen1 has joined #osdev
<zid> honzukihonzukihonzuki
Neo has quit [Remote host closed the connection]
Neo has joined #osdev
zetef has joined #osdev
vdamewood has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<nikolapdp> q
<nortti> ?
<nikolapdp> wq
<nortti> 15562728
<zid> bc 4*3
<nortti> File 4*3 is unavailable.
zetef has quit [Remote host closed the connection]
<heat> ok BEER REVIEW: the ikea beer is ok, nothing crazy, but it's not bad at all
<zid> ikea.. beer
<heat> it's a swedish dark lager
<heat> yeah ikr!
<heat> believe it or not i did not assemble the bottle
<nikolapdp> are you telling me you didn't learn glassblowing to get a beer at ikea
<heat> they actually have really good food
<heat> those damn swedes
<nikolapdp> damn swedes
<adder> Sweden Weeden
<zid> sweden still has the worst food in europe
theruran has joined #osdev
manawyrm has quit [Quit: Read error: 2.99792458 x 10^8 meters/second (Excessive speed of light)]
manawyrm has joined #osdev
<zid> "What have you got?" "Fish" "What else?" "...rotted fish?"
<zid> at least in iceland they put moss on top
regreg has quit [Ping timeout: 268 seconds]
Matt|home has quit [Quit: Leaving]
<adder> gog: confirm
Turn_Left has quit [Read error: Connection reset by peer]
<adder> zid: To be fair Brittain is not too far off.
<adder> s/tt/t/
<zid> Obvious and poor troll, 2/10
<adder> I'm not trolling, you're eating beans for breakfast.
<zid> Never personally done so, some people do.
<zid> Is tomato and vegetable stew on toast too high brow for serbia?
<nikolapdp> and you put milk into tea
<zid> Yes, our village can afford a cow
<adder> I'm searching for British cuisine and half the images are beans.
<nikolapdp> i think a bigger issue is affording milk
<nikolapdp> *tea
<zid> Dw, we sort of
<zid> toppled a few nations
<zid> and fixed that problem
<nikolapdp> well that's one way to do it
<zid> America can't even get good chinese taffics on steel, we just went and beat them in a war and made them give us tea, in exchange for opium they didn't even want, oh and an island.
<zid> We gave it back in 1997 though
<nikolapdp> you kind of had to at that point to be fair
<zid> nah, we had a 99 year agreement
<zid> and it ran out
<adder> What island? I played football manager so I missed most of my history classes.
<heat> wow great choice
<zid> hong kong
<nikolapdp> well if it had ran out 99 years ago, i think you could've very well extended it
<heat> finally something i agree with in this channel
<zid> no, it ran out in 1997
<zid> after 99 years
<nikolapdp> yes i know
<zid> then why
<zid> wtf nik
<nikolapdp> i am saying you would've had the power to do whatever you wanted to china 100 years ago
<nikolapdp> including keep the bloody thing
<zid> we did
<zid> too much effort
<zid> who wants to look after tens of millions of chinese peasants, we need them there growing tea
<nikolapdp> that's perfectly fair
<zid> India was a pain the arse too, they kept having famines when the rains failed
<heat> lovely world history there mate
<zid> and now all the americans are like "omg, britain so bad, they genocided india with famines"
<heat> but how about football manager?
<adder> Yes FM 2010 IIRC.
<heat> have you played it since?
<adder> No.
<heat> well, you should
<heat> one of the few yearly games that doesn't really go backwards
<zid> I played one of the.. psx? ones
<zid> does that help
<adder> I don't smoke weed anymore so it's not as interesting.
<heat> football tactics is the best
<zid> I prefer better theming
<zid> so I play factorio
<zid> which is the same game but with trains
<zid> instead of footballers
<adder> zid: Have you played (Open)TTD?
<heat> "what if you're not as good as a professional football player, but you just like tactics, and you're also not one of those stats nerds"
<heat> also: in the newer FM's they added stats for the stats nerds too
<heat> i've seen a guy literally importing the whole game's database into an excel spreadsheet
<adder> heat: What I would do is I'd take a local club and win every damn thing with it. I was trying to build a new stadium.
<nikolapdp> adder i wanted to get into openttd at some point
<heat> adder, yeah. going big is just REALLY easy
<adder> nikolapdp: It's cool, although it's quite easy to win, so the whole thing shifts to optimization and so on.
<heat> i played with tottenham in fm20 and i basically won the prem 5 times in a row with 2 champions leagues or whatever
<nikolapdp> isn't it like that with most games
<zid> top tip, romanians and italians can't read what we type unless you do this
<heat> even benfica is really easy (i'm just missing the champions league :(, was in the final though)
<heat> i need a bigger challenge, maybe start in the really lower leagues
<heat> or fuckin, idk, play the moldovan league
<heat> FC chisinau european champions when??
<adder> I always picked Partizan.
<adder> So when I lost a game, I had the gameplay prior to the game saved, and I'd go back repeatedly until I won.