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
<zid> I am helping to improve their accuracy
<zid> giving them some more GAINS on their next microarch
<heat> GAINZ
<zid> by adding easy cases
<mjg> nice gainz bro
<vdamewood> I need to work on my Persian dictionary.
<heat> who's going to carry the boats, and the logs, and the branches, and the crapper
<heat> you are, branch predictor
<gog> hi
* gog branches
<mjg> TAKING SOU^WCACHE MISSES
* heat cmovs
<gog> i'm missin gmy cache rn
<zid> gay cache!?
<mjg> gym cache?
<mjg> what even is that
<mjg> heat: excuse me sir, i have a question
<mjg> heat: are you a weak ass motherfucker who got nothing left in the tank?
<heat> no i dont sleep i wake up at 4am when everyone's sleeping i'm getting stronger
<vdamewood> Hmm... Yay database design.
<gog> i hateabase
<vdamewood> gog: Find, you can code the frintend.
<vdamewood> Enie*
<gog> noooooo
<vdamewood> Dammit!
<mjg> do you know what goggins thinks about time off for muscle recovery?
<mjg> EXCUSES
<bslsk05> ​'David Goggins and Joe Rogan on excuses' by iz_bill (00:00:32)
<mjg> :d
<heat> >join the community and get hard
<zid> oh look, someone I have on ignore posting fucking joe rogan vids
<heat> i already am david
<zid> wonder why I have them on ignore
<zid> whoever it is: you're a fucking tool go away
<vdamewood> zid: It's ***. You have *** on ignore?
<mjg> someone is really salty
<heat> seriously i need help i can't stop being hard this is a medical condition
<mjg> jamie pull up that video of a bear putting someone on ignore
<nikolar> Then go to a hospital heat
<heat> i want to say that david goggins is kinda cool
<mjg> :p
<heat> even if he's a bit over the top and has seriously bad medical advice
<heat> he's not an ass... i think
<mjg> dude is crazy
<mjg> definitely not someone to listen to
<mjg> but props go where props are due, as far as i can tell he lives up to what he preaches
<mjg> btw, if you want some drama, there is another lolo retired seal named jocko willink, i'm usre youtube recommended his bs to you
<heat> i know the name
<mjg> don't watch the content
<mjg> i'm mentioning it because there is an interesting phenomena
<nikolapdp> *phenomenon
<mjg> every single retired navy seal who reached the mainstream turned out to be lying about something
<mjg> nikolapdp: right
<mjg> for example, there a guy named luttrell of "lone survivor" fame
<nikolapdp> this is a linguistics channel, remember
<heat> isn't phenomenon plural?
<mjg> which goggins (no relations to gog?) rubs shoulders with
<zid> no, -a is plural, -on is singular
<mjg> turns out he lied his ass of about the incident
<heat> ah
<mjg> claimed to have his squad of 4 surrounded by liek 80 taliban
<mjg> and they killed 35 of them
<gog> jocko is a favorite of the daily wire people
<mjg> meanwhile turns out the taliban had < 10 people
<mjg> and the claim is that luttrell literally ran away from the fight, which is the only reason he survived
<mjg> part of the evidence is that he still had all his ammo when he got rescued
<heat> people that brag about being brave are usually not
<heat> which is why gog is the bravest person i know
<mjg> a different seal, chris kyle, of "american sniper" fame again lied his as off
zxrom has quit [Quit: Leaving]
<mjg> ass
<gog> i'm a fucking coward
<zid> heat is brave, staying portuguese
<zid> it's like playing on hard
<heat> oh fuck chris kyle lmao
<mjg> he did snipe people 'n shit, but greatly overstated
<heat> so i have a pet peeve with "american sniper"
<mjg> his killcount and os on
ajoberstar has left #osdev [#osdev]
<zid> anyone who ever watched it does
<mjg> at the same time he was buddies with JOCKO
<zid> it's a shit movie
<heat> the whole movie feels anti-war and war is fucking hard and shit and moral qualms
<heat> but at the end
<heat> AMERICA FUCK YEAH
<heat> it literally left me speechless
<mjg> and JOCKO defends him
<mjg> i had not seen the movie :p
<zid> lemme find that boyle joke
<heat> i was like, damn this is tough, not a bad movie, but clint fucking eastwood amerijerks all over the audience
<bslsk05> ​'Frankie Boyle American Foreign Policy' by Will LizZard (00:00:38)
<kof123> eh, you can probably find details of who gets to "supervise" movies anyways.....
<mjg> heat: btw to my understanding JOCKO and GOGGINS have a beef
<mjg> :d
<mjg> i'm team goggins though!
<mjg> cause i STAY HARD
<zid> "American foreign policy is horrendous, because not only will they come to your country and kill all your people, but in 20 years they will come back, and make a movie about how killing your people made their soldiers fweel wewwy sadd :'("
<nikolapdp> yeah
<gog> i really, really, really wish and know it won't happen that george w. bush and donald rumsfeld and colin powell and condoleeza rice all get tried for war crime
<heat> you forgot cock chenney
<zid> he dead
<heat> no he's not
<gog> no i just hope he fucking dies
<gog> it's too good for him but he needs to go
<mjg> do you miss kissinger
<gog> hahahahahahah
<zid> oh you mean dick cheney, cock chenny is already dead
<gog> yeah i cry a tear
<mjg> i can shed one from the other eye
<zid> kissenger died without consequence, people were even sucking the dick of his legacy
<zid> good job, earth
<gog> we done fucked up seriously
<nikolapdp> yeah
<mjg> henry was like an uncle to me
SunClonus has joined #osdev
<mjg> :sadface:
<CompanionCube> gog: and also blair
<gog> every head of state and government that was complicit'
<heat> mjg: dick sites was like an uncle to me
<mjg> last comment before i turn in
<mjg> someone on the interwebz says he started running thanks to goggins
<gog> hi
<heat> seriously there's no way someone is named dick sites
<mjg> and if he feels like he can't finish the distance he hears goggins calling him a bitch
<zid> He's just braver than you heat
<zid> If anything he CHOSE to be named dick sites, because his name is actually richar
<heat> at some point he must've realized the wrong thing turned up when googling his name
<zid> are you sure someone named 'dick' knows how to disable safe search
<mjg> maybe if it was dick sightings?
SunClonus has quit [Remote host closed the connection]
* CompanionCube is reminded of Pick, the OS named after developer Dick Pick
solaare has joined #osdev
* zid is remindd of dick, the OS named after developer pick dick
<zid> I will never understand richards btw, they get to pick between being called "Rich", as in "wealthy" and "Dick" as in "penis"
<zid> and choose penis
<bl4ckb0ne> penisOS when zid
<nikolapdp> when you make it
<zid> richOS for me
* bl4ckb0ne forks onyx
<heat> what's the fork for?
<heat> are you just going to rename it penisOS
<heat> because i don't support camel case
<zid> can you fork onyx and fix the keyboard support
<heat> nor do I support OS names ending in OS
<zid> It doesn't support HID
<heat> the keyboard support is JUST FINE, you just have the wrong keyboard
<zid> No, it doesn't support HID. It supports ID only.
<zid> The H is replaced with G for goose
<heat> seriously though, i have no idea what solution existing unices use for keyboard layouts
<heat> ideally i'd adopt one of em and just support every keyboard layout, ez
<heat> cuz i have no interest in wiring up keyboard layouts
<heat> my current solution is basically "key A prints string X, string Y when shift is also pressed, string Z when ctrl is also pressed"
<zid> /usr/shared/kbd/keymaps/
<heat> which works okay
<zid> Shared means you're allowed to steal them
<childlikempress> input translation is SO hard
<zid> # equery belongs /usr/share/keymaps/i386/qwerty/uk.map.gz
<zid> * Searching for /usr/share/keymaps/i386/qwerty/uk.map.gz ...
<zid> sys-apps/kbd-2.6.4 (/usr/share/keymaps/i386/qwerty/uk.map.gz)
<zid> upstream of which is: https://github.com/legionus/kbd
<bslsk05> ​legionus/kbd - Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/legion/kbd.git (37 forks/82 stargazers/NOASSERTION)
<zid> https://github.com/legionus/kbd/blob/master/data/keymaps/i386/qwerty/uk.map huh those gz files literally just have xmodmap config file things in
<bslsk05> ​github.com: kbd/data/keymaps/i386/qwerty/uk.map at master · legionus/kbd · GitHub
<heat> i assume these are compiled to some format
<zid> nope
<zid> they're just that .map file, .gz'd
<heat> no way the kernel is going to parse text files for the keymap info
<heat> (can't wait to be proven wrong)
<zid> right, this isn't the kernel interface part
<zid> this is "where do I get keymaps from" part
<zid> ioctl(fd, KDSETKEYCODE, &a)
<bslsk05> ​elixir.bootlin.com: keyboard.c - drivers/tty/vt/keyboard.c - Linux source code (v3.4) - Bootlin
<heat> interesting, thanks
<heat> wait, no, that's not it
<heat> they use KDSKBENT
<zid> I just looked at the source for the xsetkbdcode program that kbd comes with or whatever it was
<zid> that sets oneshot keys
<zid> can you set the entire plane?
<zid> KDSKBENT
<zid> Sets one entry in translation table. argp points to a
<zid> struct kbentry.
<zid> KDSETKEYCODE
<zid> kbkeycode. (Since Linux 1.1.63.)
<zid> Write kernel keycode table entry. argp points to a struct
<zid> a 'kernel keycode table entry' is {int scancode, keycode}; struct
<zid> not sure what a 'translation table' is
<zid> translatin table is char kb_table, kb_index, kb_value
<zid> keycode to 'action code'
<zid> there are 256 tables, with 256 indices, set to K_HOLE, or to an 'action'
heat has quit [Ping timeout: 264 seconds]
Nixkernal has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
heat has joined #osdev
<heat> ok had to fix my networking real quick
<heat> the whole LAN shit the bed, even the router lost connectivity
<heat> its DNS server was returning errors for every lookup
<heat> nothing a quick unplug - plug wouldn't fix
<zid> nice
<zid> anyway, find out what the fuck a translation table vs keycode table is
<heat> maybe one of these days
<heat> i still have a whole subsystem to merge
<zid> I should make a VM that has just a kernel
dra has quit [Ping timeout: 260 seconds]
<zid> and play around with bin/init
<heat> do it
<heat> init is fun
<heat> the initial state is annoyingly unspecified
<heat> but the linux stuff AFAIK mostly boils down to "stdout/in/err point to /dev/console, and you're unkillable, good luck"
<heat> they point to /dev/console without it being mounted, that is
SunClonus has joined #osdev
<zid> Were you expecting me to fork? pfft.
<zid> Just write a weird TEST PROGRAM
<zid> that can use every ioctl and syscall
<zid> like you would on a bbc micro or whatever
<heat> you mean /bin/python as init?
<zid> linux kernel REPL
<zid> make /bin/init a webserver that provides access to every syscall via checkboxes
<zid> and typing numbers in
<heat> sounds like cpython with extra steps ngl
<zid> with a nice little sidepanel for all the open files
<zid> and you can click them and do ioctls on them
<heat> btw if you wanted a real linux kernel REPL you'd write it all in a kernel module
<heat> maybe linux kernel APIs as REST
<heat> GET /kmalloc?size=40&gfp=GFP_KERNEL
netbsduser` has quit [Ping timeout: 268 seconds]
heat has quit [Ping timeout: 272 seconds]
SunClonus has quit [Quit: Leaving]
SunClonus has joined #osdev
gorgonical has joined #osdev
<gorgonical> anyone here have experience with the make a lisp project (mal)?
Matt|home has quit [Quit: Leaving]
gog has quit [Ping timeout: 264 seconds]
netbsduser` has joined #osdev
vdamewood has quit [Quit: Life beckons]
hirigaray has quit [Remote host closed the connection]
SunClonus has quit [Quit: Leaving]
lentement has joined #osdev
navi has quit [Quit: WeeChat 4.1.2]
lentement has quit [Ping timeout: 264 seconds]
<zid> heat if you're not going to ttydive you could at least stick the tea on
netbsduser` has quit [Ping timeout: 260 seconds]
gbowne1 has quit [Quit: Leaving]
DrPatater has quit [Quit: Explodes into a thousand pieces]
gildasio has quit [Ping timeout: 255 seconds]
DrPatater has joined #osdev
netbsduser` has joined #osdev
gildasio has joined #osdev
lentement has joined #osdev
lentement has quit [Ping timeout: 268 seconds]
netbsduser` has quit [Ping timeout: 264 seconds]
ramenu__ has quit [Ping timeout: 264 seconds]
Arthuria has joined #osdev
lanodan has quit [Ping timeout: 240 seconds]
lanodan has joined #osdev
Arthuria has quit [Ping timeout: 268 seconds]
carbonfiber has joined #osdev
netbsduser` has joined #osdev
rustyy has joined #osdev
TkTech has quit [Read error: Connection reset by peer]
netbsduser` has quit [Ping timeout: 264 seconds]
TkTech has joined #osdev
liana has joined #osdev
Shaddox404 has joined #osdev
Shaddox404 has quit [Client Quit]
netbsduser` has joined #osdev
lentement has joined #osdev
lentement has quit [Ping timeout: 268 seconds]
liana has quit [Quit: liana]
netbsduser` has quit [Ping timeout: 264 seconds]
sbalmos has quit [Ping timeout: 260 seconds]
netbsduser` has joined #osdev
sbalmos has joined #osdev
netbsduser` has quit [Ping timeout: 252 seconds]
goliath has joined #osdev
carbonfiber has quit [Quit: Connection closed for inactivity]
netbsduser` has joined #osdev
lentement has joined #osdev
lentement has quit [Ping timeout: 272 seconds]
netbsduser` has quit [Ping timeout: 256 seconds]
lentement has joined #osdev
vdamewood has joined #osdev
<nikolar> gorgonical I have some experience with lisps, not with mal in particular though
lentement has quit [Ping timeout: 255 seconds]
<zid> nikolapdp: Is that a statement about how bad your english pronunciation is?
<nikolar> My English isn't perfect but I definitely don't speak with a lisp zid
<vdamewood> nikolar: Not even a cool one like Scheme?
<nikolar> I do speak with a scheme yes
<vdamewood> Excelent.
<nikolar> Indeed
Nixkernal has joined #osdev
netbsduser` has joined #osdev
gog has joined #osdev
zxrom has joined #osdev
lentement has joined #osdev
netbsduser` has quit [Ping timeout: 264 seconds]
lentement has quit [Ping timeout: 272 seconds]
<zid> I speak with a cunning plot
netbsduser` has joined #osdev
GeDaMo has joined #osdev
heat has joined #osdev
netbsduser` has quit [Ping timeout: 264 seconds]
<Cindy> nikolapdp: remember that "unused functions" warning i had yesterday?
<Cindy> well it was because of an off-by-one mistake in my script
<Cindy> whoops ^^;
vdamewood has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<nikolapdp> got to D
<nikolapdp> got to love that
netbsduser` has joined #osdev
<zid> Tapas time
bnchs__ has joined #osdev
Cindy has quit [Killed (NickServ (GHOST command used by bnchs__))]
bnchs__ is now known as Cindy
netbsduser` has quit [Ping timeout: 268 seconds]
GeDaMo has quit [Ping timeout: 264 seconds]
Ellenor has quit [Ping timeout: 255 seconds]
netbsduser` has joined #osdev
GeDaMo has joined #osdev
<zid> Geddermo what weird web puzzle games are we playing lately
<GeDaMo> Actually, I'm mostly playing 0AD at the moment
<zid> That sounds 2000 years out of date
<GeDaMo> I'm not very good at RTSs though :P
<GeDaMo> Apparently it was originally an Age of Empires mod
<zid> I've never played much aoe, looks sorta hard to learn but good
<zid> I was pretty decent at starcraft 2 when it came out
<GeDaMo> I can beat the AI on very easy but I'm struggling a bit at easy :|
<heat> 0AD is a GPL video game
<heat> stallman sanctioned
<zid> oh dear ged
<heat> "The game is cross-platform, playable on Windows, macOS, Linux, FreeBSD, and OpenBSD"
<heat> oh my god it supports not only FreeBSD but OPENBSD
<zid> does it have p2p p2p
<zid> p2p pvp
<heat> yes
<zid> think I can beat GeDaMo despite having never heard of it?
<heat> well, i don't know about pvp, but it has multiplayer
<heat> i played it like once like 7 years ago
<GeDaMo> You can have 4 players on a map
<heat> if it had servers i would entirely expect the server software to be GNU affero licensed
<zid> I think you can take him heat
<zid> how hard can easy ai be
vdamewood has joined #osdev
FreeFull has joined #osdev
ramenu__ has joined #osdev
voidah has quit [Ping timeout: 255 seconds]
<GeDaMo> I assume zid is currently trying the game :P
netbsduser` has quit [Ping timeout: 264 seconds]
Ellenor has joined #osdev
<gog> i want to go home
<gog> i cannot into database
<gog> i want to go home and work on my rtld
<mjg> rtld?
<mjg> :(
<mjg> no gogs
<mjg> you have to write in javascript framework do jour
<mjg> whas is it this week?
<gog> runny_shit.js
<gog> the document object is conceived of in a way that conceptually mimicks a runny shit
<mjg> you know, i could believe this is a real name
<mjg> fucky_framework_2.0
<gog> but this week i'm fixing a money thing that's been plaguing the accountant for awhile. she wants to no longer do an annoying thing manually and it's kindof ridiculous that she has had to for so long
<gog> but at the same time the data i'm trying to work with is very wacky
<gog> because of selfsame problem
<gog> and the test database is getting very upset at my repeated high-density queries
navi has joined #osdev
<mjg> mon
<mjg> utterly fucked db state is the bane of existence
<gog> i would really, really love it if we could make a migration plan to unfuck the way we store invoices and deal with the legacy stuff with views
<mjg> dude
<nikolapdp> hah that's not happening
<gog> i know it's not happening
<mjg> i think you are missing an important detail
<gog> it would just be nice
<mjg> it's virtually guaranteed there is accounting evil in there
<mjg> because of insufficient validation in the past
<gog> probably
<mjg> if you do anything to unfuck the state you may uncover it
Nixkernal has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
<mjg> and when it happens they are going to ask you to bury it
<mjg> all in all it may be you reached a point where the thing to do is to find another job
<mjg> #fuckthis #webdevlife
<nikolapdp> relatable
<bslsk05> ​bugs.freebsd.org: 277222 – libsys/rtld breaks bind 9.18 / mysql / java / ...
GeDaMo has quit [Ping timeout: 246 seconds]
<zid> nikolapdp: can I have liberland?
<nikolapdp> sure go ahead
<zid> woot
<zid> I made serbia smaller, good week's work
<nikolapdp> you don't though actually
<nikolapdp> because it's not serbia
<nikolapdp> nor croatio
<nikolapdp> it's no ones
<zid> Okay we have it on record
<zid> serbia has abandoned it's territorial claims, croatia wins
<nikolapdp> you have it wrong
<nikolapdp> there are parts that are claimed by both serbia and croatia
<nikolapdp> and parts claimed by neither
<nikolapdp> liberland is neither
<zid> Unfortunately that isn't how this game works, thanks for playing
<gog> ok i have made a progress
<nikolapdp> and how does this game work zid
<zid> We make claims, one side backs down, the other side wins.
<zid> I get liberland, serbia gets everything in serbia that they had claimed
<nikolapdp> what happens when neither side makes a claim on something
<zid> err croatia gets*
<nikolapdp> that doesn't make sense
<zid> If I say you owe me $12, and you say I owe you $10, then you retract your claim, you owe me $10.
<zid> I get to keep liberland for being the judge.
<zid> you owe me $10 is what you're claiming*
<zid> fuck it I give up
<zid> typing is hard and I am bad at it
<zid> Let's go chase squirrels
vdamewood has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<nikolapdp> yes let's
voidah has joined #osdev
Gurkenglas has joined #osdev
ramenu__ has quit [Ping timeout: 268 seconds]
vdamewood has joined #osdev
lucartc has joined #osdev
lucartc has quit [Client Quit]
ramenu__ has joined #osdev
<zid> good news btw, mining prod 51
gildasio has quit [Ping timeout: 255 seconds]
gildasio has joined #osdev
<nikolapdp> very nice
pretty_dumm_guy has joined #osdev
sbalmos has quit [Ping timeout: 264 seconds]
sbalmos has joined #osdev
craigo has joined #osdev
<zid> afking very powerful strategy
<nikolapdp> indeed
PublicWiFi has quit [Ping timeout: 245 seconds]
Gurkenglas has quit [Ping timeout: 250 seconds]
divine has quit [Ping timeout: 268 seconds]
PublicWiFi has joined #osdev
\Test_User has quit [Quit: eee]
divine has joined #osdev
brynet has quit [Quit: leaving]
nur has quit [Remote host closed the connection]
<heat> mjg, breaking java sgtm
<heat> also is it really a regression?
<heat> can freebsd have regressions if no one uses it?
<zid> Theoretical regressions
GeDaMo has joined #osdev
<bslsk05> ​twitter: <bcantrill> I apologize to my co-workers who had to endure me howling at my own gnuplot prowess https://pbs.twimg.com/media/GG6N_0FbwAETkuX.png
<zid> nice
<gog> what's the T_kg
<heat> the only person in the world who knows gnuplot is bryan cantrill, everyone else is faking it
<gog> (the kissing girls threshold)
brynet has joined #osdev
<mjg> it literally shows that this does not scale
<mjg> and i happen to know it sucks dick single-threaded as well
<mjg> while at the end of the day it genuinely would be i/o bound i know for a fact there is mind-boggling in-kernel slowdown because geezer
<heat> dont care, didnt ask, behold the gnuplot
<heat> and the women kissing
<mjg> you either finger the keyboard to gnuplot
<mjg> or you finger the women
<gog> tbf most people only have one mouth so doing that is necessarily single-threaded
<heat> bryan cantrill leads in xWM/p90 (expected women kissing per 90 minutes)
<mjg> maybe the gnuplot thing popped up some time *after* the davem exchange?
* kof123 phoenix facewings /aphrodite-goddess-of-death/
<zid> heat can I have an FN-P90
<heat> sorry i dont have guns, this isn't america
<heat> much less a P90 you noob
<zid> P90 is plastic can you slowly print one
<heat> this is portugal, we don't have money for 3D printers either
<mjg> s/ for 3D printers either//
<mjg> fixed
<heat> correct
<heat> poortugal and poorland
<mjg> portugal is the east if the west
<mjg> of*
<heat> portugal can into eastern europe
<mjg> ya man petition the government to physically move the country
<mjg> you can be neighbours with poland
<zid> at least you can go to the beach beach
<heat> no, at this point i'm sure the rest of the west won't let us move
<heat> just so they look better in the stats department
<mjg> fucking conspiracy
goliath has quit [Quit: SIGSEGV]
craigo has quit [Ping timeout: 264 seconds]
netbsduser` has joined #osdev
lentement has joined #osdev
lentement has quit [Ping timeout: 260 seconds]
voidah has quit [Ping timeout: 264 seconds]
gog has quit [Quit: Konversation terminated!]
craigo has joined #osdev
<mjg> re bullshit motivational talk by seals, check out https://www.youtube.com/watch?v=XQRO4yHFA3A
<bslsk05> ​'David Goggins Reacts To “Navy SEAL Selection Is Too Rough”' by Chris Williamson (00:05:53)
<mjg> apparently if you stayed at twitter after takeover by musk you are liek top 0.0001% programmer
gog has joined #osdev
goliath has joined #osdev
gorgonical has quit [Ping timeout: 264 seconds]
Guest7817 has joined #osdev
Matt|home has joined #osdev
Matt|home has quit [Remote host closed the connection]
Matt|home has joined #osdev
Guest7817 has left #osdev [#osdev]
ramenu__ has quit [Ping timeout: 246 seconds]
VicIamQuick has joined #osdev
VicIamQuick has quit [Read error: Connection reset by peer]
VicIamQuick_ has joined #osdev
VicIamQuick has joined #osdev
VicIamQuick has quit [Remote host closed the connection]
zxrom has quit [Ping timeout: 264 seconds]
VicIamQuick has joined #osdev
VicIamQuick has quit [Remote host closed the connection]
VicIamQuick has joined #osdev
VicIamQuick has quit [Remote host closed the connection]
VicIamQuick has joined #osdev
VicIamQuick_ has quit [Ping timeout: 255 seconds]
ramenu__ has joined #osdev
VicIamQuick has quit [Quit: VicIamQuick]
zxrom has joined #osdev
CutieMelo has joined #osdev
VicIamQuick has joined #osdev
VicIamQuick_ has joined #osdev
VicIamQuick_ has quit [Client Quit]
VicIamQuick has quit [Ping timeout: 268 seconds]
vdamewood has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<bslsk05> ​groups.google.com: Hi. Can we documentary ms abi too?
<heat> low quality trolling :(
<gog> :(
<nikolapdp> :(
<gog> coshvji cujmlqef
netbsduser` has quit [Ping timeout: 255 seconds]
<heat> i appreciate good trolling, but not "coshvji cujmlqef is asking for documentary ms abi on sysv abi also i want new wincall abi"
<gog> you can litearlly just use a new abi
<gog> it's that easy
<nikolapdp> go and rust already do that don't they
<gog> let's change all of windows' history to use a more efficient calling convention
<heat> nikolapdp, no
<nikolapdp> rust's is technically unspecified still
<nikolapdp> i guess they just default to sysv
<heat> if you stray from the "C" abi it'll be a PITA to interop
<heat> even just the calling convention
<nikolapdp> they have attributes to mark certain functions as c abi
Vocelia has joined #osdev
<heat> i dont know what rust does internally, but i do know they use the sysv abi for C interop
<heat> or else it wouldn't just work
<nikolapdp> yeah you have to mark functions for c interop specifically
<nikolapdp> but they have their own (probably mostly sysv) abi for rust stuff
<heat> oh wow, is go a mess too?
<heat> i'm very negatively surprised
<Vocelia> I've heard of Zig
<Vocelia> It also has C interop
<heat> see, to me this makes very little sense, because now you need to implement 2 ABIs
<nikolapdp> heat it's because needs to be BLAZINGLY FAST
* gog blazes
<heat> 420
xenos1984 has quit [Read error: Connection reset by peer]
<heat> the way to be BLAZINGLY FAST is to inline the shit out of everything
<nikolapdp> yes
<nikolapdp> and custom abi apparently
<heat> L take, C and C++ are still faster
<nikolapdp> oh i agree
<nikolapdp> rust sucks
<heat> i dont think rust sucks
<nikolapdp> it's overhyped let's say
<heat> a few days ago i saw a snippet of rust code that confused rustc enough that you could corrupt memory with it
<nikolapdp> LOL
Irvise_ has joined #osdev
<Cindy> heat: i used macros and inline functions all the time
<Cindy> my 2MB m68k emulator library has 100 functions
xenos1984 has joined #osdev
<nikolapdp> how's that coming along cindy
<nikolapdp> *Cindy
Celelibi_ has joined #osdev
Celelibi has quit [Read error: Connection reset by peer]
GreaseMonkey has joined #osdev
Celelibi_ is now known as Celelibi
vykt has joined #osdev
<vykt> how does x96 PAE expand addressable memory beyond 4GB? I'm looking at MS docs for PAE, where they state that PAE changes the virtual addr split from 10/10/12 to 2/9/9/12, with the first 2 bits being the page directory pointer index. But how does this expand byte-addressable memory beyond 4Gb, 2^32 is still 4GB?
<vykt> s/x96/x86/
<vykt> every other example I see from other sources that covers 4 or 5 level page tables shows that additional levels add extra bits to the address. e.g.: 4 levels may use 40bits.
<vykt> this makes sense, MS's description of PEA does not
<gog> the virtual address space is the same
ski has joined #osdev
<gog> but the page tables are different such that each one has 512 8-byte entries
<gog> and there's the pdpt
<vykt> 512 entries because 9 bits are available. non-PAE 32bit tables have 1024 entries since they're working with 10 bit indexes.
<gog> yes
<vykt> but how does this change the total amount of addressable memory?
<gog> because each entry mapping a physical page frame can be up to...56 bits i think?
<vykt> 4 pdpt's * 2^9 page dir tables * 2^9 page tables * 2^12 offsets
<gog> yeah, that's still 4GiB of _virtual_
<gog> so if you have more than 4GIB of RAM it can't all be mapped in at once
<vykt> ohhh, will the page tables specify the physical address to map to, where the addresses will be greater than 32bit
<gog> yes
<vykt> tysm gog
<gog> where they can be
<vykt> why is the pdpt necessary then?
<vykt> it seems like the same can be achieved using a 10/10/12 split
<gog> because the entries are only 32 bits wide
<gog> each entry refers to a physical page frame that appears at the address in virtual space
<gog> so you cannot address more than 4GiB of PA
<gog> when the CPU is in paging mode, it knows nothing about the physical address space really
<vykt> each process / kernel has its own page table if im not mistaken. whether i use a 2/9/9/12 split or a 10/10/12 split, i can still ultimately specify in my page table a physical address longer than 32 bits.
<vykt> in theory at least, i'm sure there's architectural limitations
<gog> in 386 paging?
<gog> you can't
<gog> you can't address memory > 4GiB
<gog> the hardware can, the software cannot
<gog> say you have 8GiB physical memory
<vykt> yesss, but when writing a page table i could write a 36bit address into a page table for some process
<gog> how
<vykt> i thought that's what you said happens
<vykt> with PEA
<gog> yes, but the CPU can only "see" 4GiB of address space
<gog> in 386 paging mode the physical page frame is 32 bits, each page table is 4KiB and has 1024 entries of 4 bytes each
<vykt> yess
<gog> therefore each page table addresses 4MiB of virtual address
<gog> and the directory has 1024 page tables
<gog> a total of 4GiB
<gog> this is the same math for PAE, that's right
<gog> idk how to explain this better
<vykt> so how can the MMU use more than 4gb?
<heat> PAE
<gog> PAE
<vykt> how does PAE deviate from what you've just described?
<heat> wait what's the question and how can i help
<gog> how PAE can address more than 4GiB of physical memory
<gog> and 386 paging cannot
<vykt> heat: I dont understand how PAE can address more than 4gb when virtual addresses are still 32bit
<heat> PAE page table entries are 64-bit wide
<gog> that's what i told them heat
<heat> you can only map up to 4GB at once, but you can address *physically* ~ the whole 64-bits
<heat> if you have, say, multiple address spaces
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
<heat> PAE also tends to be more or less useless in many cases, but hey it has NX and we like that
<vykt> that makes sense. but why the 2/9/9/12 split instead of 10/10/12 with PAE?
<heat> because page tables are traditionally (for many reasons) a single 4KB page
<gog> because each page table still has to be 4KiB but you need more entries
<gog> so you add another table
<heat> and since they doubled the entry size, you fit less entries into a single page table
<vykt> this is the part i dont get
<heat> what part?
<vykt> 2^2 * 2^9 * 2^9 * 2^12 == 2^10 * 2^10 * 2^12
<vykt> how does the 2/9/9/12 split mean you have more entries?
jtbx has joined #osdev
<gog> a virtual address encodes the offets into those tables
Nixkernal has joined #osdev
<gog> a physical address is stored in the tables
<heat> vykt, it does not mean you have more entries
<heat> it means you have the same number of entries, but wider entries
<heat> if i double the entry size, and keep the table's "byte size" the same, i halved the number of entries and thus virtual addressing space
<heat> a quick hack was to add a new table layer that compensates for this halving, with 4 entries (2 for the halving of the lower page table layer, 2 for the page directory layer)
<gog> oh wait there was also PSE36
<vykt> heat: wdym by the table's byte size?
<heat> struct page_table {uint64_t entries[NR_ENTRIES}; sizeof(struct page_table) <-- byte size
<gog> a page table is page-sized. they are always 4096 bytes
<heat> i just wanted to disambiguate from size from entry
<heat> s/entry/nr of entries/
<vykt> omg
<vykt> i get it
<vykt> tysm
<heat> np
<vykt> do page tables have to be the size of a page for efficiency?
Vocelia has quit [Ping timeout: 264 seconds]
<heat> i suspect its mostly a constraint coming from the software's side, where many operating systems only bother to have single page allocation (vs allocating N contiguous pages) as a common case
<gog> there are PMMUs that use different mapping structures
<gog> like the M68k is rather different from x86 iirc
<heat> and then you have cases such as linux where they do handle allocating 2^N contiguous pages, but order 0 (4KB) is the common, mega-optimized case, and higher order allocations can also fail
<heat> due to memory fragmentation
<heat> (this claim has a mega-asterisk on top but it's offtopic in this case)
<gog> also i think page tables are 4K on x86 because the mmu can only address whole pages of memory at a time and the low 12 bits just pass through from the address bus
<gog> but who knows how any of that actually works on the level of traces on a board
<nikolapdp> how's the cat gog
<gog> he's ok, i'm a little worried about him but he seems fine
<gog> i think i'm just paranoid
<nikolapdp> why are you worried
<gog> he isn't eating or drinking a lot and he hasn't used the box at all, yesterday or today
<gog> and i haven't found any surprises anywhere
<heat> meow
<gog> no other indication of anything wrong tho
<nikolapdp> maybe he's just adjusting
<gog> i think so
<gog> i think also i'm just anxious because my wife is expressing anxiety whereas i didn't think anything of it until she started saying so
<gog> i think he doesn't like the substrate we picked
<gog> it's made from wood shavings rather than clay
<nikolapdp> what did his previous owners use
<gog> no clue
<heat> wtf wood shavings
<heat> now that's new to me
<gog> we're giving it a shot, it's supposed to be possible to flush it down the toilet
<gog> i don't really like dealign with bags of cat shit
pretty_dumm_guy has quit [Ping timeout: 264 seconds]
<acidx> cats usually take a while to adapt to a new place
<acidx> definitely keep an eye on it tho
<bslsk05> ​www.reddit.com: Blocked
<nikolapdp> wow
<gog> yeah, he's not showing much distress. he's playful and affectionate.
<heat> I already maked an small os to learn about the code this time I wanna come prepard
<gog> he did get really upset when i caught him with a hair tie and took it away
<gog> he went and hid under the couch for awhile after that
<heat> he knows you're not to be trusted
<gog> he doesn't know the hair tie can kill him
<heat> what
<gog> yeah if they start chewing on them and getting the elastic out they can swallow it
<gog> and that can bind up their intestines
<heat> yeah but uh
<heat> they don't
<gog> they do
<gog> it's not safe
<heat> i've had cats for 15 years they don't
<heat> they're very alive
<gog> ok
<heat> one of my cats even literally eats plastic for pleasure and fun and she's very alive
<heat> and *that* is dangerous
<childlikempress> just like me fr
pretty_dumm_guy has joined #osdev
mxs has quit [Quit: The Lounge - https://thelounge.chat]
pretty_dumm_guy has quit [Ping timeout: 264 seconds]
craigo has quit [Quit: Leaving]
gorgonical has joined #osdev
Nixkernal has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
<heat> how does plastic taste?
<childlikempress> it's not about the taste, heat, it's about the _experience_
<childlikempress> you wouldn't understand unless you tried it
<bslsk05> ​lore.kernel.org: [PATCH 1/1] rosebush: Add new data structure - Matthew Wilcox (Oracle)
<heat> childlikempress, is it the texture?
<gog> hi
<gog> my cat is fine
<gog> i love microplastics tho
<gog> my fav seasoning