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
bgs has quit [Remote host closed the connection]
navi has quit [Quit: WeeChat 4.2.1]
bgs has joined #osdev
melonai has quit [Quit: The Lounge - https://thelounge.chat]
melonai has joined #osdev
melonai has quit [Client Quit]
bgs has quit [Remote host closed the connection]
melonai has joined #osdev
bgs has joined #osdev
Maja has quit [Ping timeout: 268 seconds]
Fingel has quit [Quit: Fingel]
Maja has joined #osdev
goliath has quit [Quit: SIGSEGV]
netbsduser has quit [Ping timeout: 268 seconds]
rustyy has quit [Ping timeout: 256 seconds]
rustyy has joined #osdev
netbsduser has joined #osdev
linearcannon has quit [Ping timeout: 268 seconds]
netbsduser has quit [Ping timeout: 255 seconds]
edr has quit [Quit: Leaving]
hunta987 has quit [Quit: Lost terminal]
netbsduser has joined #osdev
* geist yawns
<geist> found a good ARM64 mmu/tlb/speculation issue today
<geist> it’s a doozy, heat will appreciate
terrorjack has quit [Quit: The Lounge - https://thelounge.chat]
terrorjack has joined #osdev
netbsduser has quit [Ping timeout: 252 seconds]
linearcannon has joined #osdev
skipwich has quit [Quit: DISCONNECT]
skipwich has joined #osdev
gog has quit [Ping timeout: 260 seconds]
netbsduser has joined #osdev
bgs has quit [Remote host closed the connection]
netbsduser has quit [Ping timeout: 264 seconds]
Matt|home has quit [Remote host closed the connection]
Fingel has joined #osdev
netbsduser has joined #osdev
neo|desktop has joined #osdev
neo has quit [Ping timeout: 255 seconds]
netbsduser has quit [Ping timeout: 268 seconds]
Fingel has quit [Quit: Fingel]
netbsduser has joined #osdev
brynet has quit [Ping timeout: 268 seconds]
brynet has joined #osdev
gbowne1 has quit [Quit: Leaving]
netbsduser has quit [Ping timeout: 260 seconds]
linearcannon has quit [Ping timeout: 268 seconds]
bgs has joined #osdev
<childlikempress> hey mjg
<childlikempress> did you know that udp packets can now be sent in parallel by multiple threads on openbsd?
<childlikempress> it's true! https://www.openbsd.org/75.html
<bslsk05> ​www.openbsd.org: OpenBSD 7.5
<zid`> Split protocol control block table for UDP into IPv4 and IPv6 tables to allow concurrent access.
<zid`> good news, the totally different protocols no longer share locks too!
<childlikempress> this would not have been a problem if they had used transactional memory
bgs has quit [Remote host closed the connection]
<zid`> or vxworks
<kof673> > it's true!
* kof673 peacock/atum/100 other characters sheds a single rainbow tear shaped exactly the same as his tail feather "the more you know" <star>
<kof673> that was for heat
<childlikempress> ok transactional memory wouldn't have helped--they just had the one table before, not two tables with one lock
<childlikempress> BUT they could have used a scalable hash table instead of locking..
<geist> well, nice they fixed it
<geist> things dont just start out fully formed. it's the essence of engineering
<geist> you get it working and go back and fix it later
<geist> working suboptimally is infinitely better than not working at all
<childlikempress> sure and obviously there's tech debt because multiprocessors are like a New Thing by minicomputer os timelines
<geist> yah
<childlikempress> and i don't think even linux has scalable resizable hash tables?
<childlikempress> but openbsd also clearly does not care about scalability to the same degree as say linux
<geist> beats me. i dunno what a scalable resizable hash table is
<geist> i'm sure it's a neat algorithm though
<kazinsal> scalability in networking is also just kind of... not fun to write
<kazinsal> you gotta jump through some serious PCIe hoops to get line rate on a 100GbE NIC
<childlikempress> it's a hash table where multiple accesses (fine-print: to different keys, also false sharing and whatnot) can happen concurrently, and you can also resize concurrently
brynet has quit [Ping timeout: 260 seconds]
<childlikempress> kazinsal: ohhh i bet
xvmt has quit [Remote host closed the connection]
<kazinsal> VFs on paper: makes life easier for virtualization
<kazinsal> VFs in reality: good luck getting line rate on the host without using the VFs on the host
xvmt has joined #osdev
<childlikempress> for nvme i think there is some usage of actual userspace drivers
<childlikempress> 'dpdk' i think it was?
<childlikempress> spdk
<kazinsal> dpdk is for offloading TCP processing to userspace through polling
<childlikempress> but i guess maybe the interfaces for network cards are more heterogeneous which would make that harder?
<kazinsal> ooohhhh yeah
<kazinsal> intel gigabit and older 10GbE ones generally look fairly similar but each generation and model has its own idiosyncracies
<kazinsal> then newer gen 10GbE/25GbE/40GbE ones are totally different
<kazinsal> and the latest 40GbE/100GbE ones are totally different yet again
<kazinsal> similar deal with the realteks and the marvells etc
zid` is now known as zid
netbsduser has joined #osdev
zetef has quit [Ping timeout: 268 seconds]
netbsduser has quit [Ping timeout: 240 seconds]
tjf has quit [Quit: l8r]
tjf has joined #osdev
brynet has joined #osdev
GeDaMo has joined #osdev
<zid> help, the weird burning sky orb is here
<zid> what do I do GeDaMo
<kazinsal> go outside
<kazinsal> it's good for you
<GeDaMo> It's raining here :|
<GeDaMo> It's been raining all week
<zid> It was overcast yesterday, and rained last night
<kazinsal> yeah, gonna be a wet weekend here as well
<zid> but all of a sudden my window is blinding me, I assume a cloud got scared and ran away
<kazinsal> was hoping to get a bunch of walking in for cardio + offsetting the caloric costs of boozeahol
<zid> damn thing is 10 degrees off the horizon so it's baaad
<GeDaMo> There's a named storm this weekend, Kathleen
<FireFly> there's no sephirot outside the window that might've chased the cloud away?
<zid> like driving into the sun but.. indoors
<zid> those storms always miss me and hit ireland and scotland
netbsduser has joined #osdev
netbsduser has quit [Ping timeout: 260 seconds]
goliath has joined #osdev
navi has joined #osdev
dsdolzhenko has joined #osdev
zetef has joined #osdev
gog has joined #osdev
pog has joined #osdev
gog has quit [Ping timeout: 255 seconds]
pretty_dumm_guy has joined #osdev
op has joined #osdev
bauen1 has quit [Ping timeout: 268 seconds]
<nikolapdp> zid, did the glowing orb in the sky wake you up
<zid> no
<zid> I woke up at.. not many hours o'clock
<zid> then the sun appeared and made me unable to continue reading my book for 15 mins, disgraceful behaviour
masoudd has joined #osdev
<nikolapdp> disgraceful indeed
<zid> I tried jokerless a bunch btw
<zid> it's fuckin hard
<zid> pretty sure I need to get lucky money, then get telescope voucher, then get a celestial pack every shop
<GeDaMo> jokerless?
<zid> GeDaMo: balatro
<GeDaMo> Ah
<pog> i've had good success with buffing mults for straights and the "four fingers" joker
<pog> but i haven't finished a run yet
zxrom has joined #osdev
<zid> pog: I'm talking about challenge 20 where jokers are banned, it's hard :P
Left_Turn has joined #osdev
<pog> oh my
dsdolzhenko has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<chiselfuse> why are memory address spaces sometimes depicted as the lowset address (eg 0) low in the picture and highest address (eg 2^64 - 1) high in the picture? instructions usually are followed top to bottom so having the lowest address at the top is more intuitive. is there any use to depicting it the other way around?
<zid> because books are portrait not landscape
<zid> and you have to pick something
<zid> left to right would be natural, everything else is a compromise
<zid> a building has the lowest floor at the bottom, but a number written vertically will have the first number at the top
<zid> there's no true answer
<GeDaMo> So you want the higher addresses to be lower down the page? :P
<chiselfuse> zid: i don't understand what portrait vs landscape has to do with it, in the picture i posted if we flip it it'd still be in portrait
<zid> chiselfuse: You have 300mm vertically, or 210mm horizontally, minus a margin for the center fold
<zid> so it makes a lot more sense to draw diagrams vertically, if possible
<zid> They're almost 1:2 ratio once you consider the margin
<chiselfuse> zid: i don't want to rotate it by 90 degrees, i want to have 0 on top and 2^64 - 1 on the bottom, how would that make a difference in dimensions at all
<zid> I didn't tell you to.
<GeDaMo> Spin the wheel, raggedy man! :P
<zid> I was explaining why it was vertical not horizontal.
<chiselfuse> i never said i wanted it to be horizontal
<zid> This is not the first time you've skim read, or not read at all, the answer you were given
<zid> then argued because you didn't understand
<chiselfuse> oh, you were giving an analogy with vertical vs horizontal i see
<zid> Not an analogy no.
<zid> I said, explicitly, that neither top to bottom nor bottom to top are natural, *left to right* is natural. Unforunately, books do not work this way.
<zid> So you have one of two unnatural orientations remaining.
<zid> Both are shitty, that you have a mild preference for one or the other is just that, a mild preference, both suck.
<zid> Various documents will have either 0 at the top, or 0 at the bottom, because neither is better
<chiselfuse> i don't think that left to right or horizontal is natural at all either
<zid> Unfortunate
<chiselfuse> but regardless, now that we're stuck with vertical depiction... following instructions in an assembler or debugger they're laid out from low to high (top to bottom) so it's more intuitive to depict memory address spaces with low address on top imo and was wondering if there is any benefit to have it the other way around as i see in manuals
<zid> Almost all other things are bottom to top
<zid> mathematical axis, fluid tanks, tape measures, etc
<zid> axes*
<zid> Just turn your head left instead of right
<pog> left to right isn't necessarily natural either, that's just a convention we're comfoortable
<zid> pog wants to be arabic
<zid> but even arabic people put the number line left to right I am fairly sure..
<pog> hm
<pog> hebrew is right-to-left too tho
<zid> do they use mirrored graphs though
<pog> idk i guess i'd need to find an arabic comp sci textbook
<zid> https://miro.medium.com/v2/resize:fit:1400/1*hweAHIAU_5kNEcNSfKilmg.jpeg
<bslsk05> ​miro.medium.com: Just a moment...
<zid> arabic seems to agree, that 0 is bottom left corner
<zid> ergh this hotsauce is shite
<zid> "habanero with whiskey", it's apricot sauce that isn't even hot
dsdolzhenko has joined #osdev
<nikolar> zid yeah jokerless sounds tough
bauen1 has joined #osdev
<zid> I think I just need to spam resets until I either get enough flush cards to tide me over, or get money + observatory early
<kof673> > if there is any benefit to have it the other way around which way does the stack grow?
<GeDaMo> Traditionally, stack grows downwards from high addresses
<kof673> which cpu is "traditionally" ?
<GeDaMo> It's not usually CPU specific
<kof673> another question would be...do the roots of the binary tree go on top lol
<kof673> *when depicted visually, regardless of addresses
<zid> sigh, got an okay start, then hit the worst boss ofc
<kof673> if it is not usually cpu-specific, where does the convention come from? language?
<kof673> i am not disagreeing, but someone had some reason at some point
<kof673> even if that is 'no reason'
<GeDaMo> The convention is to have code, static data then heap which grows up from the bottom and the stack grows down from the top
<zid> I've done so many resets I've played straight flush opening hand several times :p
<kof673> yes, in unixland? again not trying to nitpick, just what os/cpu/etc. did this happen on?
<zid> (without discarding)
<GeDaMo> On much older machines
<GeDaMo> Before things like virtual memory
<GeDaMo> To begin with, each program had the whole machine to itself
<GeDaMo> When multiprogramming came in, they tried to give the illusion that was still the case
netbsduser has joined #osdev
<chiselfuse> is it so controversial to try to maintain the orientation the same as the one you read instructions in
<pog> it's not that it's controversial, it's that it's an established convention that most documents about system development are going to use
<kof673> > Little Nemo: The Dream Master - Guide and Walkthrough - NES gamefaqs.gamespot.com › NES › Action › Platformer › 2D Stand and prepare to feed the monkey-plate-throwers with needles. Beware of the plates! Now, investigate the upper floor with your bee.
<kof673> i just recall sometimes stacks get stack of dishes analogy
<zid> and it's just.. irrelevent
<kof673> and forth language books also were known for pictures :)
<kof673> at least the "beginner" ones
<netbsduser> i can't say i have ever heard someone analogise a stack to a stack of dishes
<pog> it's not a good analogy because you can take a copy of a plate at any position in the stack
<zid> fuck yea, beat jokerless
navi has quit [Ping timeout: 256 seconds]
navi has joined #osdev
<nikolapdp> zid that's kind of working lol
<zid> I won
<nikolapdp> yeah
<nikolapdp> nice
<zid> It just was a bastardto set up
<nikolapdp> how many restarts did it take
<zid> like.. 40?
<nikolapdp> lol
<zid> and I'd have lost if I didn't get a glass card guy in my final rerolls I think
<zid> I used that + fool to add the two glass cards onto my held cards, just before I played
m3a has quit [Ping timeout: 260 seconds]
<nikolapdp> just in time
<kof673> > i can't say i have ever hear yes, not saying it is a good analogy "programming from the ground up, an introduction to programming using linux assembly language" jonathan bartlett page 53: well, we says it's the "top" but [...] although this is confusing, when we think of a stack of anything -- dishes, papers, etc. -- we think of adding and removing to the top of it
<kof673> i have another 386-ish assembly book maybe has it, and would not surprise me old forth books :D
<kof673> *we say
op has quit [Ping timeout: 260 seconds]
<kof673> also, you are failing Kek class nikolapdp :/ > Khnum, God of the Nocturnal Sun, is King of Frogs in Amenta, the hidden underworld > Num-Kufu, his dream of a deluge > Num, lord of the inundation
<nikolapdp> kek
m3a has joined #osdev
masoudd has quit [Remote host closed the connection]
masoudd has joined #osdev
zxrom has quit [Remote host closed the connection]
zxrom has joined #osdev
voider has quit [Ping timeout: 268 seconds]
pog is now known as gog
Arthuria has joined #osdev
m3a has quit [Ping timeout: 255 seconds]
Arthuria has quit [Ping timeout: 272 seconds]
spare has joined #osdev
<kof673> :) i would not say a perfect match, but princess rescued like frog prince, transformations...close enough for a joke
edr has joined #osdev
Fingel has joined #osdev
spare has quit [Remote host closed the connection]
<bslsk05> ​axleos.com: An IRC client in your motherboard | Phillip Tennen
<gog> UEFI IRC
<gog> this is my irc client, it's shaped like me
<pounce> gog: did you see my feature request
<bslsk05> ​github.com: IRCv3 support · Issue #2 · codyd51/uefirc · GitHub
zetef has quit [Ping timeout: 255 seconds]
<gog> hahahaha
<pounce> if awkbot can support ircv3 then so can uefirc!!
<gog> i'm rewriting this in C
<pounce> D:
<gog> don't try to stop me
<kof673> nikolapdp, https://www.chronowiki.org/wiki/Frog_Flare there was some golden sun thing...anyways lol > Lets not forget Frog Flare is the ONLY attack in the game capable of breaking the 9999 damage limit "we must learn the sign language" lol
<bslsk05> ​www.chronowiki.org: Frog Flare - Chrono Wiki - Chrono Trigger, Chrono Cross, Radical Dreamers
<kof673> i'll be good ;D
<nikolapdp> gog please do
<nikolapdp> kof673 what's that
dsdolzhenko has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<pounce> gog: pls don't rewrite awkbot in C
<gog> awkbot can stay
<gog> as long as gawk remains written in c
<gog> untill rawk is a thing
<gog> unless it already is idk
<gog> reimplement unix in rust
<gog> poorly
<pounce> is gnu C really C
<pounce> it's really like, its own dialect
<gog> is faroese danish or icelandic?
<gog> ¯\_(ツ)_/¯
<zid> boo, my mouse decided it was out of battery without really warning me, I only have one challenge left now
xenos1984 has quit [Ping timeout: 246 seconds]
<pounce> I'm GObject sorry GObject I can't GObject understand GObject accent
xenos1984 has joined #osdev
<zid> That's why I name all my types G
<zid> It's much easier
<bslsk05> ​<mei> i am a sleeper agent and "osdev" is my wakeword
<zid> I'm a sleeper agent
<zid> in that I like naps
<pounce> true
<gog> eepy
<puck> eeper agent
<gog> puck!
Fingel has quit [Quit: Fingel]
Fingel has joined #osdev
Fingel has quit [Remote host closed the connection]
Fingel has joined #osdev
linearcannon has joined #osdev
<Ermine> gpounce
<Ermine> gog would be og if not gobject
<zid> I might have a sleep agent moment in a bit
<gog> gogbject
<zid> that is a very spicey consonant cluster
<gog> thank you
<zid> that word looks wrong as spicy and as spicey
<zid> I need half-width e
<gog> spicyy
<gog> imagine it with vocal fry
<gog> that's spicyyy
<zid> let's go polish, spiczjy
<gog> spæsí
npc has joined #osdev
<FireFly> spezi,
gog has quit [Quit: Konversation terminated!]
Fingel has quit [Quit: Fingel]
Fingel has joined #osdev
Fingel has quit [Remote host closed the connection]
Fingel has joined #osdev
linear_cannon has joined #osdev
linearcannon has quit [Ping timeout: 246 seconds]
gog has joined #osdev
Matt|home has joined #osdev
Matt|home has quit [Remote host closed the connection]
Matt|home has joined #osdev
hunta987 has joined #osdev
zetef has joined #osdev
masoudd has quit [Killed (NickServ (GHOST command used by masoudd_))]
masoudd_ has joined #osdev
gorgonical has joined #osdev
xenos1984 has quit [Ping timeout: 240 seconds]
masoudd_ is now known as masoudd
xenos1984 has joined #osdev
goliath has quit [Quit: SIGSEGV]
dsdolzhenko has joined #osdev
dsdolzhenko has quit [Client Quit]
<gorgonical> someone tell me some good news on this Friday in spring
<zid> I beat all the challenges in balatro at last
<gorgonical> Or fall, of course
<zid> no, or autumn
<zid> the only people in the south hemi are anzac
<gorgonical> they probably also call it autumn in sa
<gorgonical> ran a 10k in the rain yesterday. 44F/4C, but it was good
<zid> wat
<zid> "it was good"
<zid> you *ran*, for ten kilometers, and it was raining, and cold
<gorgonical> It was actually snowing at one point. Weird spring weather stuff
<clever> it was snowing yesterday, today its raining
<zid> Is there an emoji for when you do that finger circle next to your temple
<geist> there are birbs about, it's spring
<geist> though a cool day here, but it was warmer before
<gorgonical> are there mourning doves in Europe? There must be, right?
<gorgonical> those birds are the ones that really sound like spring to me
<geist> i upgraded one of my ryzen machines to a 5700x3d yesterday
<geist> solid gaming cpu for a reasonable price
<zid> turtledoves appear to be NA only
<zid> they're NTSC birds
<bslsk05> ​knowyourmeme.com: Screw Loose Emoji | Know Your Meme
<gorgonical> that is crazy. Such an iconic sound to me
<geist> thankfully we dont really have doves here in the PNW as far as i can tell
<zid> wood pigeons are the iconic noise here
<geist> but that's okay, i find them kinda annoying
<geist> but we have a lot of robins
<bslsk05> ​'Wood Pigeon Call (Columba palumbus)' by My Birding Year (00:00:52)
<zid> all I hear some days
<gorgonical> the wood pigeons have a pretty similar call actually
<gorgonical> I guess they are both doves after all
<geist> i do miss whip-or-wills from texas
<geist> they were really neat
<gorgonical> oh those little stubby birds yeah
<zid> pheasants are spy drones not birds, do they count for this convo
<geist> https://youtu.be/jIxfVSS_65o yeah we had those and there's another variant that has a longer song....uh
<bslsk05> ​'Whip-poor-will Song' by American Bird Conservancy (00:00:45)
<gorgonical> zid: only if you're happy to hear pheasant calls this time of year
<geist> ah yeah chuck wills widow: https://youtu.be/H2T_CoHnZyc
<bslsk05> ​'Chuck-will's-widow Song' by American Bird Conservancy (00:00:25)
<gorgonical> they sound kind of like chickens to me, pheasants
<zid> they're robo-chickens
<gorgonical> NM has the best birds though. Roadrunners are ridiculous creatures
<bslsk05> ​'Greater Roadrunner Puffing & Clacking' by Clark County Wetlands Park (00:00:23)
<bslsk05> ​axleos.com: An IRC client in your motherboard | Phillip Tennen
goliath has joined #osdev
<geist> oh no i have the neighborhood black lab dog hanging out on my porch again
<geist> she wants nothing more than to play fetch
<geist> like, totally obsessed with it
<gorgonical> sounds like work is over for the day
<geist> alas no tags, so i have no idea who the owner is
<zid> free snack
hunta987 has quit [Ping timeout: 268 seconds]
<geist> my move
<gorgonical> such a good photo
<geist> it's really hard to photo her, she moves around constantly
<gorgonical> also someone feeds that dog well. such a shiny coat
<zid> yea looks in good nick
<geist> yeah clearly she's well fed, but they didn't put a damn tag on her so no idea who the owner is
<geist> dumbasses
<geist> i'm not even sure that's legal
<zid> You're legally allowed to make it work your farm
dude12312414 has joined #osdev
dude12312414 has quit [Remote host closed the connection]
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
bauen1 has quit [Ping timeout: 272 seconds]
npc has quit [Remote host closed the connection]
theyneversleep has joined #osdev
<sham1> Looks like a good doggo, whose owner is an arse for not having a chip on
masoudd has quit [Killed (NickServ (GHOST command used by masoudd_))]
masoudd_ has joined #osdev
bgs has joined #osdev
<geist> pretty much
<geist> at least put a tag so i know what to call her
bauen1 has joined #osdev
masoudd_ is now known as masoudd
zetef has quit [Remote host closed the connection]
agent314 has joined #osdev
linear_cannon has quit [Ping timeout: 264 seconds]
goliath has quit [Quit: SIGSEGV]
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
masoudd has quit [Ping timeout: 264 seconds]
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
Left_Turn has quit [Read error: Connection reset by peer]
goliath has joined #osdev
Matt|home has quit [Quit: Leaving]
heat has joined #osdev
navi has quit [Quit: WeeChat 4.2.1]
<heat> hai
<heat> geist: oooh what's the arm64 issue
heat20 has joined #osdev
<heat20> pounce: i'd like to interject for a moment. what you're referring to as GNU code (GObject) is actually glib, *not* GNU code
<pounce> who wrote it then huh
heat91 has joined #osdev
<heat91> gnome project
<heat91> also what the fuck, is the web client borked, it keeps disconnecting after like 10 seconds
<childlikempress> death to gobject!
<pounce> wait you can get sortix cloaks!!
<heat91> do you want an onyx cloak?
<pounce> no i like my cloak
<heat91> i don't have one, but i can probably get you onee
<heat91> you just have to let me nitpick your contributions to shit
<childlikempress> why would you want an onyx cloak when you could have a meow cloak
<heat91> because onyx is *that* good
<heat91> better than cats.
<pounce> NO
<childlikempress> slander
heat has quit [Ping timeout: 250 seconds]
<childlikempress> ^ see that's what happens to people who slander cats
<pounce> cats are better than software
heat has joined #osdev
<heat> ugh the web chat is so screwed
<pounce> why web chat
<heat> i'm on windows atm
<heat> linux couldn't handle my uni VPN without creating a routing loop, and now i'm having fun playing games
heat20 has quit [Ping timeout: 250 seconds]
<pounce> my school blocks port IRC so i've been doing gamja recently
<heat> why would anyone do that
<heat> "hey, no 65+ people allowed on campus!"
<pounce> they also block NTP
<pounce> bruh
<mcrod> are you kidding?
<mcrod> to be honest it IS mostly bullshit these days
<heat> good, time is for chumps
<pounce> my laptop keeps running out of battery and resetting the clock and i have to do it manually
<pounce> so
<heat> what?
<pounce> my school was 'cyberattacked'
<childlikempress> are they gonna make ntp-over-https
<childlikempress> there's dns-over-https already
<heat> is your CMOS battery dead? do you have literally no CMOS battery?
<pounce> yeah
<pounce> apple silicon bay be
heat91 has quit [Ping timeout: 250 seconds]
<mcrod> i have no idea what you're saying
<pounce> anyway
<pounce> they blocked all non http ports
<childlikempress> mcrod: <pounce> apple silicon bay be
<childlikempress> is what they said
<childlikempress> HTH.HAND
<pounce> ^^
<mcrod> thanks. that helps.
<pounce> and then they started randomly wiping computers in the school
<pounce> because these are the two ways to undo a cyberattack obviously
<childlikempress> ??
<pounce> so now i lock my computer in a locker, because even though it's a MACBOOK running LINUX i still am not confident that they would think it's a windows machine and wipe it
heat_ has joined #osdev
<pounce> so it runs out of battery
<pounce> and since it's weird new apple hardware that means the clock is gonzo too
<mcrod> why is a macbook running linux?
<heat_> FUCK IT WE'LL DO IT LIVE LINUX
<heat_> BDSM
<mcrod> for what it's worth
<mcrod> i'm on an M1 mac
<pounce> mcrod: are you asking why it's not my homebrew OS
<mcrod> and it is gorgeous
<mcrod> no
<pounce> well then that's why it's linux
<heat_> "hey i want an apple product but without half the experience (the good software bit)"
<heat_> "hey yall think i can install GNU hurd on the airpods"
<mcrod> oh, you deliberately chose to put linux on your macbook
<CompanionCube> pounce: wait are they wiping their own computers or computers other people own
<mcrod> that's like deliberately choosing to gouge your own eyes out
<mcrod> source: heat_ knows i've tried many distros
<mcrod> and none of them are working right except for now, arch
heat has quit [Ping timeout: 250 seconds]
<heat_> ARCH ARCH ARCH ARCH ARCH ARCH
<pounce> CompanionCube: well they're _supposed_ to only be wiping computers they own
<mcrod> you see i'm so confused
<pounce> but they don't own my computer and i still got a sticky note saying 'please take your computer in for 'inspection'
<mcrod> then.. don't
<pounce> and my supervisor said to lock it in a cabinet
<heat_> mcrod: "pacman -S" is the same as "apt-get install"
<heat_> HTH
<pounce> because they wiped a PhD student's computer and lost all their work
<childlikempress> ????
<CompanionCube> this sounds like a legal threat waiting to happen
<mcrod> i'm just still sitting here wondering why linux is on a macbook
<heat_> how can they wipe it if its password locked?
<mcrod> I have no idea why someone would willingly make that choice
<mcrod> it really is like gouging your eyes out with a fondue fork
<heat_> hey do you think i can run netbsd on the airpods
<heat_> yes, ofc it runs netbsd
<mcrod> what's nice about mac right now: i have a unix on the desktop that works
<pounce> mcrod: macOS doesn't have a tiling WM that lets me reach 100% efficiency with my autism
<mcrod> i... ok
<mcrod> well
<mcrod> sorry.
<heat_> pounce, cant you replace the WM on a mac?
<pounce> not without turning off system protection and doing code execution into Dock.app!
<pounce> last time i checked (abt 1yr ago)
<pounce> code injection*
<bslsk05> ​github.com: Installing yabai (latest release) · koekeishiya/yabai Wiki · GitHub
<geist> heat_: well, i'll end up giving it to you ni the simple case where it's fairly obvious
<geist> `map_page(va, pa); dsb ishst; *va = 5;`
<geist> what are the possible outcomes there?
<heat_> hmm
<heat_> if va was mapped previously, you can write to the old mapping
<geist> va was not mapped previously
<heat_> ok then you write to *va, this looks okay?
<heat_> in theory you'd need an isb to make sure you don't speculate to an old .text mapping
<geist> yah one would thing
<geist> bingo. ISB required
<geist> in a sufficienty OOO core i found worse: *va = 5; would literally throw a data abort, translation not present
<geist> *after* dsbing the actual translation, whcih is supposed to be sufficient enough
<heat_> isn't dsb supposed to do the expected thing here?
<geist> until you read the fine print i guess
<heat_> i would understand isb for /maybe .text/ mappings, i do not understand why you'd need an isb here
<heat_> except for buggy implementations
<geist> so for M1 apple silicon, it seems to speculate ahead and execute the store, but doesn't retire it until it gets to it
<geist> and throws a fault. fine reading the manual it looksl ike that's valid
<geist> but no ARM core i've run on is sufficiently OOO to do that
<heat_> it was my understanding that ISB only controls instruction fetches and the instruction pipeline
<geist> the manual is pretty clear about DSB stalling until a bunch of things have happened, but then calls out explicitly that translations for future virtual addresses may occur
<geist> *unless* FEAT_ETS2 is present, which explicitly tightens this up
<heat_> oh, so you need to fully flush the pipeline to make sure no future outstanding stores are around?
<geist> right, talking to some x86 experts around work, they say that the reason x86 doesnt have this problem is even if it's allowed to speculate across the page table change, before it throws a #PF it will re-translate just to make sure
<geist> and then re-do the load/store, etc
<geist> but no where in the ARM manual does it say this
<geist> of you changed a mapping or removed one you'd put in a TLB flush, whcih would have been a sufficient barrier on either ARM or x86
<geist> (since you need a DSB + ISB there explicitly)
<geist> but point is if it's a mapping you may access within the same context (ie, ekrnel mapping in the kernel) you should ISB there after mapping a new entry, just to make sure the cpu doesn't speculate
<geist> linux has a DSB/ISB after every __set_pte
<heat_> can the arm cores not speculate user code from kernel space?
<geist> they could (though there's some new FEAT_* stuff against this) but those instructions could never commit since branching back to user space is via an eret, which functions as an ISB
<geist> a Context Synchronization Event, iirc
<geist> those act as a barrier in the future that instruction speculation can never cross
<geist> well, whether ornot the cpu is allowed to speculate into user space i dunno, i think there are some stronger FEAT_*s in later v8.x specs that make speculating across user/kernel pages and whatnot much stricter
agent314 has quit [Read error: Connection reset by peer]
<heat_> sounds like you need an isb even if its a userspace mapping then
<geist> not necessarily, though maybe for some sort of spectre/meltdown thing
<heat_> well, you just said they may or may not speculate across the privilege boundary
<geist> sure, but that's not the problem
<heat_> ah okay i guess since eret does the isb
<geist> speculating is fine, it's throwing a data abort as a result of it
<geist> now for meltdown/spectre speculation may not be fine, but taht's a different level
agent314 has joined #osdev
<geist> anyway, so it's possible this is only visible on M1 because it's a) so ridiculously out of order it's the only thing i have on hand that can repro it and/or b) arm cores re-validate the mapping before tossing a translation fault
<geist> b as far as i know is not required, i see no mention at all in the arm manual about this
<heat_> apple sillicon baby woooooooooo
<geist> yah i was reading a cinebench 2024 benchmark chart yesterday and M3 max single core performance at 4Ghz is trading blows with the highest end 6.2Ghz intel core at the top of the chart
<geist> OTOH who knows what the benchmark is generally stressing. may be a good memory subsystem stress, which apple silicon is also a beast at
zxrom has quit [Ping timeout: 252 seconds]
<heat_> it's pretty amazing how apple knocks everything out the park
<heat_> except keyboards
<heat_> apple is very clearly not a keyboard company
<heat_> "how much key travel do you want? covid-19? gotcha"
zxrom has joined #osdev
<geist> oh also the reason i know this is a transient fault is immediately afterwards everything translates properly
<geist> (though throwing a translation fault the cpu is supposed to TLB flush)