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
Left_Turn has quit [Read error: Connection reset by peer]
awita has joined #osdev
<mcrod> hi
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
awita has quit [Client Quit]
potatojs has joined #osdev
<potatojs> hello humans
<gog> hi
<gog> 0xBEEFBABE
benwaffle has joined #osdev
<potatojs> how you doing
dutch has quit [Quit: WeeChat 3.8]
dutch has joined #osdev
andydude has quit [Quit: Leaving.]
bgs has joined #osdev
<zid> where do I get a beefbabe
gog has quit [Ping timeout: 264 seconds]
<potatojs> hey zid
<nikolar> 0xdeadcafe
andydude has joined #osdev
bgs has quit [Remote host closed the connection]
nyah has quit [Quit: leaving]
heat_ has quit [Ping timeout: 240 seconds]
<zid> I imagine the easy answer is the gym, but then I'd have to go outside
<potatojs> i believe in you
tiggster has quit [Remote host closed the connection]
[itchyjunk] has quit [Remote host closed the connection]
sympt has quit [Quit: Ping timeout (120 seconds)]
sympt has joined #osdev
goliath has quit [Quit: SIGSEGV]
terrorjack has quit [Quit: The Lounge - https://thelounge.chat]
terrorjack has joined #osdev
nanovad has quit [Ping timeout: 240 seconds]
nanovad has joined #osdev
tiggster has joined #osdev
bgs has joined #osdev
potatojs has quit [Ping timeout: 240 seconds]
dude12312414 has joined #osdev
dude12312414 has quit [Remote host closed the connection]
<geist> yawns
joe9 has quit [Quit: leaving]
skipwich has quit [Quit: DISCONNECT]
skipwich has joined #osdev
ThinkT510 has quit [Quit: WeeChat 3.8]
ThinkT510 has joined #osdev
GeDaMo has joined #osdev
elastic_dog has quit [Read error: Connection reset by peer]
elastic_dog has joined #osdev
andydude has quit [Ping timeout: 240 seconds]
puck has quit [Excess Flood]
puck has joined #osdev
kfv has joined #osdev
<mjg> zid: google "home gym" :X
<bslsk05> ​'What's a GYM? - The Simpsons' by MartianBoy87 (00:00:27)
<bslsk05> ​'Family guy gym XD' by Ahmed El (00:04:18)
pmaz has joined #osdev
lg has quit [Ping timeout: 268 seconds]
lg has joined #osdev
pmaz has quit [Quit: Konversation terminated!]
Burgundy has joined #osdev
pmaz has joined #osdev
pmaz has quit [Ping timeout: 246 seconds]
<bslsk05> ​www.intel.com: Envisioning a Simplified Intel Architecture for the Future
<mjg> :d
<mjg> preemptive loling ensues
<nikolar> :)
kfv has quit [Quit: Textual IRC Client: www.textualapp.com]
<froggey> the cowards!
nj0rd has joined #osdev
<froggey> "There is no concept of user mode I/O port accesses anymore, and using INB/INW/INL/INQ/OUTB/OUTW/OUTL/OUTQ in ring 3 always leads to a #GP(0) exception."
<froggey> that actually seems like a bad idea? makes userspace drivers a bit more difficult
xenos1984 has quit [Read error: Connection reset by peer]
<clever> froggey: you can do IO with /dev/iomem i think it was, or the kernel can trap and emulate if the process has privs
<froggey> yeah, you can definitely work around it
<Mutabah> BPF IO drivers maybe?
<moon-child> Mutabah: 'birth and death of yavascript' trends closer by the day
<Mutabah> Well, I mean for the bits that need IO port access
<froggey> am I in #linux or #osdev?
<froggey> (two of you mentioning linux-specific stuff as workarounds :p)
<moon-child> so what? drivers are always going to be os specific
<moon-child> os of your choice could provide its own /dev/iomem-alike or bpf-alike
<kazinsal> yep that's gonna be a thing where you get kernel traps emulating the direct instructions
<moon-child> :\
<moon-child> trap and emulate sucks
<kazinsal> honestly this is gonna be another i376 situation where it's a good idea but only ever makes it in the embedded space
<kazinsal> microsoft in particular is going to ring up some high level folks at intel and go "ha ha yeah fuck no"
<moon-child> what? Why?
<kazinsal> for better or worse they've been the gods of backwards compatibility for 40 years
<kazinsal> their whole business is based on it
<moon-child> microsoft would be thrilled if they could do the whole locked-down-secure-boot thing and actually make it work
<kazinsal> the fact you can deploy a windows server 2022 instance and run software from 30 years ago on it is a core part of their value proposition
<moon-child> windows 11 requires i think post-skylake cpus. Very not-compatible
<kazinsal> software compatibility
<kazinsal> I should not have to specify that
<moon-child> oh software sure. But this doesn't seem very significant for userspace software
<kazinsal> that's the whole point of the massive amount of backwards compatibility that windows has had for as long as it's been a thing
<moon-child> software from 30 years ago, ok, but probably not drivers from 30 years ago, since that assumes you're connecting to 30-year-old hardware...
<kazinsal> you would be surprised
<kazinsal> also I am very concerned about the single lazy paragraph about using VMX for legacy systems
<kazinsal> as it somewhat implies that you just fault into a full on 32-bit system emulator
gog has joined #osdev
<froggey> moon-child: people are terminally unix-brained and it makes me a bit sad. that's why I pointed it out
<froggey> you can, in fact, think outside the box
<kazinsal> I consider myself terminally reality-brained
<kazinsal> in that I see all sorts of stuff regularly that, on paper, is absolutely ridiculous if you think of only the best and brightest of modernity in computing as the standard that reality should adhere to
<froggey> aren't you writing a unix for the 8086?
<moon-child> froggey: sure, but it doesn't seem noteworthy or surprising that in this channel the expectation is a unixoid
<kazinsal> but in the year of our dark lord two thousand twenty three, reality is that you will have weird drivers running in ring 1 on a fresh windows server 2022 machine
<kazinsal> froggey: 8088, but yes. it's a gimmick project that is completely disconnected from my experiences in the datacenter and systems engineering fields
<froggey> I'm not arguing against trap & emulate, fwiw (or saying it's unix-brained). it does seem like the most realistic option
<froggey> kazinsal: exactly. we can have little a fun in #osdev, as a treat
xenos1984 has joined #osdev
<kazinsal> trap and emulate is the most realistic way of solving the problem but it's going to involve a LOT of emulate, so I don't see the whole "processor init into long mode, fuck you baltimore you're next" thing being a mainstream intel processor thing
<kazinsal> it'll work great in the embedded x86-64 space
<kazinsal> same as the i376 was a great idea for an embedded 32-bit protected mode only i386-class core
<kazinsal> not a platform you ran general purpose compute on
<froggey> moon-child: I remember when I first joined here (like 20 years ago now, oh god lol) it was definitely less unix focused
<froggey> I'm not sure there's anything in mainstream oses (windows or linux) that's actually doing userspace io now (even the weird X drivers are dead), so my point kind of only applied to weird non-mainstream systems
<kazinsal> Windows still exposes a pseudofile called \Device\iomem_io that is functionally a privileged-mode interface to the ISA I/O space
<moon-child> froggey: interesting. What were people doing instead?
<froggey> in the case of weird X drivers linux's DRM/DRI subsystem has eaten the low-level bits
<moon-child> I mean in this channel
<froggey> for what?
<froggey> oh! I get it, sorry
<kazinsal> 20 years ago it was mostly "how do i hello world"
<froggey> solaros is the only name I can pull out of ancient memory
<froggey> idk if the dev was even here
* moon-child finds http://oby.ro/os/: 'Copyright 2004,2021' neat
<bslsk05> ​oby.ro: Solar_OS
<froggey> Mutabah's acessos is another name I remember, though maybe that was also terminally unix-brained and I just didn't know :)
<froggey> I'm probably blending together here and the mega-tokyo forums a bit too
Burgundy has quit [Ping timeout: 246 seconds]
goliath has joined #osdev
<Mutabah> froggey: It was UNIX-esque
Burgundy has joined #osdev
<gog> helo
heat_ has joined #osdev
heat_ is now known as heat
<heat> x86s is cute but not great
<heat> There's a feedback address, I might send em some
<heat> In particular, the cr3 mechanism sucks donkey balls
<heat> I was reading the other day that linux folks thought 4096 PCIDs were too little (you can only pack these much into cr3's 64 bit word)
<heat> But these motherfuckers get the hackiest solution instead
<heat> To deal with LA57 (yes, a problem) but not with everything else that may ever happen in the future
<heat> I.e ARM style would be ideal
<heat> sorry, had to rant earlier and couldn't bother to re-type this
plarke has quit [Remote host closed the connection]
<heat> if you add more data to MMU ctl (page size, ASID, etc), you'll run out of CR3 bits, and then you re-do all associated structures with CR3 (including the super ungood hard to change FIT structs, etc?)
vdamewood has joined #osdev
* kof123 "for better or worse they've been the gods of backwards compatibility for 40 years" hears ibm mummy growling in the distance (and the 7 dwarves it ate) ...
Left_Turn has joined #osdev
nyah has joined #osdev
justmatt8 has quit [Quit: ]
justmatt8 has joined #osdev
justmatt8 has quit [Client Quit]
justmatt8 has joined #osdev
justmatt8 has quit [Client Quit]
justmatt8 has joined #osdev
innegatives has joined #osdev
kof123 has left #osdev [#osdev]
zxrom has quit [Read error: Connection reset by peer]
zxrom has joined #osdev
bgs has quit [Ping timeout: 240 seconds]
rb has quit [Ping timeout: 248 seconds]
rwb has joined #osdev
zxrom has quit [Quit: Leaving]
zxrom has joined #osdev
bgs has joined #osdev
dayimproper has joined #osdev
<marshmallow> when examining PTE fields, what is the difference between the soft-dirty bit, and the valid entry bit, for that specific PTE?
<marshmallow> my doubt is: isn't the soft-dirty bit essentially the same as valid bit or not for that process' virtual address space?
<heat> what's the soft-dirty bit? what architecture?
<Mutabah> I think ARM has it
<Mutabah> I believe it might cache differently, otherwise it's not much different?
<marshmallow> heat: apologize, I was referring to linux kernel
<bslsk05> ​www.kernel.org: Soft-Dirty PTEs — The Linux Kernel documentation
<heat> no, it's different
<marshmallow> soft-dirty is essentially to track #pf of a specific process?
<heat> mate, soft dirty write-protects the whole address space. then you page fault on writes (to track dirtyness, like you want), it sets the soft dirty bit and makes the pte writable, done
<marshmallow> sounds fine, but why userspace would ever want to capture dirty information?
<marshmallow> (like it seems that the kernel would be more interested in tracking dirtyness of a userspace process, w/o involving the user process)
<heat> why do you think userspace would never be interested in tracking that?
<marshmallow> I'm not saying userspace wouldn't be interested in doing so, I'm asking why would it actually ever need it
<zid> wat
<heat> wat
<zid> "I am not saying it wouldn't be, but I am asking why it would be"
<zid> ??//one
<marshmallow> let's reformulate: how come a userspace process would be interested in tracking dirty info?
dayimproper has quit [Ping timeout: 240 seconds]
<heat> profiling, memory usage tracking, CRIU (as stated in your link)
<marshmallow> wouldn't a userspace process page fault as little as possible?
<marshmallow> *wouldn't a userspace process wish to
<heat> yes?
<marshmallow> so, the kernel sets the soft-dirty bit only upon userspace request?
<heat> this information is probably implicitly tracked anyway...
<heat> the only capability you get is the ability to clear it
<marshmallow> also, doesn't it write-protects at a page table entry granularity instead of the whole address space?
* gog moos
<gog> get it
<heat> it write-protects the whole thing and then makes ptes writable as you fault it
<heat> gog, gog gog gog what do you think of x86S
<heat> give me your fullstack opinion
<heat> as a professional react nodejs x86 microcode verilog writer
<gog> as a full-stack developer i think the x86S is the most full-stakced cpu
<marshmallow> heat: would make completely sense, but I was reading something differently
<gog> in my professional full stack opinion
<mjg> seconded
<heat> mjg: mjg
<mjg> thank you for taking point in thought leadership concerning this crucial matter
<zid> Can't wait for 2080 when it's standard
<mjg> heat: sorry mate, i'm busy maximizing the value i add to the team by avoiding displacing my focus away from primary objectives
<heat> damn
<heat> you became a manager?
<mjg> one must acknowledge the existence of unpredictable factors before an accurate timeline assesment can be achieved
<mjg> heat: thank you for the great question!
<gog> synergy
<mcrod> gog: may I gog you
<mjg> gog: i found foregoing joint meetings streamlines top-down information flow
<gog> mcrod: yes
* mcrod gogs gog
<gog> a joint meeting is just a blunt rotation
<mjg> here is a funny story
<mjg> heat
<mjg> there were weekly joint meetings with dudez in india
<mjg> they would just sit there and never say anything
<gog> hey hey hey i have some bottom-up information flow for you: uwu
<mjg> as usual it was a waste of time
<mjg> one day the manager was leaving the company so we had the last meeting
<mjg> he wanted to say godobye to everyone by calling them by name
<mjg> he did not know their names
<mjg> he had a list on the laptop which was in an order different than the one they were sitting in
<mjg> it became obvious to everyone, them including, he has no idea who he is addressing after saying their name
<mjg> nobody said shit tho
<heat> nice
<mjg> gg
<gog> gg
<heat> ggwp
<gog> gog
<mjg> here is something positive in all this shite
<mjg> i asked why are these joint meetings taking place to begin with
<mjg> to my surprise they got abolished
<mjg> liek immediately
<mjg> don't get me wrong, it is hard to overstate the value provided by said meetings over the years they were practiced
<mjg> nonetheless we had to re-evaluate their alignment with our current goals
<mjg> at the end of the day we want to do what's best for our customers, while making sure we don't compromise our core values
<mcrod> meetings are almost worthless
<mcrod> down with all of them, i say
<mjg> i already noted yesterday(?) that the point of meetings is not to accomplish anything
<gog> the only good meetings are ones where you get food and drink at the same time and it's a chill affair rather than a thing that disrupts your day
<mjg> instead the goal is to let pretenders pretend they are of any use
xenos1984 has quit [Read error: Connection reset by peer]
<mjg> and in some cases it is to derail a project
<mjg> like literally, on purpose
<mcrod> my boss is almost entirely swamped with meetings
<mcrod> and I cannot for the life of me picture what they could be possibly talking about
<mjg> how big is the corp
<mcrod> it's multi-national
<mcrod> number of employees... good question
<gog> we have almost no meetings where i work
<heat> i agree, i dont understand meetings
<gog> every few weeks or so we'll meet with our remote dev and talk about things but it's only if we're coordinating for a long-term thing
<heat> what the actual fuck are they talking about
<mjg> because you are assuming the goal is to push projects forward
<mjg> it is not
<mjg> it is primarily to manufacture appearances of work being done
<mcrod> at work, I had to design something that measures speed of motors in a particular way
<heat> team standups make sense I think, if they're not too formal
<mcrod> and we need a meeting to discuss the results
<heat> but meetings? ma
<heat> n
<mcrod> how about "here's a ZIP file, go nuts"
<mjg> heat: here is a funny story for you motherfucker
<mjg> one day, out of the blue, a random loller from support dept wrote an e-mail how SCRUM is the shit and get adopted
<mjg> in *support*
<mjg> he also linked a youtube video with an example
<mjg> i watch the video, it's total crap
<mjg> i reda the desription: example of a *bad* scrum
<mjg> lol
<mcrod> i just find it all bullshit really
<mcrod> i want to write code
<mjg> that's aside from no explanation why it would help anyway
<mcrod> i don't care about being drowned with 400,000 meetings
<mjg> motherfucker stick to 390k then
<mcrod> i've never understood these "team methodologies"
<mjg> *something* makes sense to coordinate the team
<mcrod> sure
<mjg> what specifically depends on the team and tasks at hand
<mcrod> but not these hyper formal rules
<mcrod> at my company, thank god it's not so formal
<mjg> inflexible stuff is for grifters
<mjg> here is a secret: some of the bs attempts are there to extract value out of the incompetent
<mjg> and claim competent are not needed
<mjg> using different wording of course
<mcrod> also, I can say as an embedded developer, there are less meetings than at my old job at least
<mcrod> and I seem to notice a weird trend that embedded work == less meetings
<mjg> if you are embedded you are probably far removed from the customer
<mcrod> i wish that were true
<mjg> or the customer is technical
<mcrod> ever been to a vending machine and payments were processed, with cash or card? that's us.
<mjg> that kind of embedded
<mjg> you are the webdev of embedded mate
<mcrod> hey
<mjg> just stating facts
<mcrod> i have "embedded software engineer" as a title, that's good enough for me
<mjg> and html programmers are also programmers, good enough for them!
<mcrod> and I say that because indeed, this isn't what I want to necessarily *do*
<mcrod> but that will help me get to the next job
<mcrod> we use IAR and I hate it
<gog> i'm a full stack html programmer
<mcrod> i've been really trying to get my company to drop it for the next project and use either Clang or gcc
<mjg> gog: i'm a backend html programmer
<mcrod> but I think some of them are drinking the koolaid on "iar still produces super small code"
<mjg> mcrod: sounds like RISK
<mcrod> some projects do use gcc
<mjg> nobody is going to sign off on it
<mcrod> so they're not totally unfamiliar
<mjg> unless you provide supposed tangible benefit tO tHe cUsToMeR
<mjg> read: nobody with decision making power sees any benefit and you being less annoyed is not one
<mjg> while potential fallout is unforseen
<mcrod> most of what I'm trying to advocate for is a significantly improved development process, which implicitly gives the customer a benefit
<mcrod> but you did say _tangible_
<mcrod> agreed, they don't care whether or not we have ubsan and unit tests
<mjg> right, if you want to sell an improvement, you either have to lie your ass of about it
<mjg> or it has to be quantifiable in some manner
<mjg> which they care about
innegatives has quit [Quit: WeeChat 3.8]
<mcrod> my boss is definitely open to this however, because there was undefined behavior lingering in our codebase for a long time until someone found it a year ago
<mcrod> not to say that ubsan is a catch all for literally every single case of UB, but you get my idea
<mjg> perhaps you can still compile gcc if only for testing purpoess
<mjg> internal
<mcrod> oh, I have
<heat> i want to make up some new project with a lot of hype, ship it, have it reach some level of success, get promoted into MANAGEMENT!!! and then have the project die
<heat> it is my dream
<mjg> you dn't need to ship it
<mcrod> i feel bad for my boss
<mcrod> he's a really smart, nice guy
<mcrod> but he feels like he can never be hands on again because forever he's management
<mjg> is that someone with actual technical background
<mjg> as in verified track record
<mcrod> yes
* mjg knows massive grifters with supposed tech background
<mjg> .. who can't code for shit
<mcrod> he didn't know clang-format existed and was *shocked* that it existed though
<mjg> and who went into mgmt
<zid> I'm shocked people use formatting tools
<mjg> in fact it is a common idea for years now
<mcrod> mjg: also, not too far off from the webdev thing, I live on the east coast of the US, web dev and the like or the military, your choice
<mjg> or remote?
<mcrod> i didn't get that lucky.
<mjg> unless you are fresh out of college
<mcrod> i never went to college
<mjg> it should be no problem to find
<gog> i'm stacking my full development web
<mcrod> getting this job was a unicorn
<mjg> so how many years do you have under your belt
<mcrod> getting my previous job was even more so
<mjg> so that's at least 2?
<mcrod> no, 1
<mjg> i did not graduate
<heat> gog, linux kenrnal in rust over wasm
<mjg> getting jobs was never a problem
<gog> yes
<mcrod> 6 months at my last job, 6+ months and ongoing now
<mjg> uh
<mjg> aight that's too little
<mcrod> yeah.
<mjg> gotta grind to 5-ish
<mcrod> that's my plan
<heat> red hat should rename to rust hat
<mcrod> also, a lot of people get lucky
<mcrod> it took me 10 years to get a job in a field like this with no college
<mcrod> so, if you're thinking of dropping out of college and live in the US, don't, even though it is bullshit, lest you end up like me
<mjg> heat: typical redhatter would get aneurysm if they wrote non-python code without a buffer overflow
<zid> what is non-python code
<mcrod> but yeah, I plan to stay here for at least 5 years, and then bail
<mcrod> doing what after that i don't know
xenos1984 has joined #osdev
<mjg> zid: in the above example: rust
<mjg> /* Call function */
<mjg> (*((*sipp)->func))((*sipp)->udata);
<mjg> remember folks, comments are crucial for high quality code
<gog> i got my job by luck too
<mcrod> my first job, the HR person took huge pity on me and convinced the engineering guy to even look at my resume
<mjg> uh?
<mjg> wtf
<heat> mjg, oh you rascal, this is BSD!
<mjg> heat: 96 vintage (or so)
<mcrod> within a month, it was clear what they wanted me for
<mcrod> i had a pulse, a brain, and desperation - you can probably figure out where this is going
<mjg> webdev of embedded
<mjg> ;X
<mcrod> no, that's not what my first job was
<mcrod> i was a software tester for semiconductor packaging software
<mjg> i thought tech support
<mcrod> one of the worst experiences ever
<heat> nodejs
<mcrod> also, we were constantly under the threat of acid vapor emergencies without safety gear
<mcrod> but hey, i needed the experience.
<heat> based
<gog> i was hired for a customer service job and when i was hired i mentioned that i'm also a software dev and then the customer service gig ended abruptly so i asked again if they'd give me a shot at dev work. they gave me a few tasks and said they'd keep me for at least a month but then after i completed the tasks they offered me a contract
<mcrod> it was either that, or go back to saying "paper or plastic" for another 10 years.
<gog> yeh i worked in grocery in the us for 10 years
<mjg> :[
<mcrod> there were points I had considered blatantly lying on my resume
<mjg> blatantly lying on your resume is american job hunting 101
<gog> yes
<mcrod> no, I mean
<mcrod> "I went to this college"
<mcrod> they would've asked for a transcript
<mcrod> and then that would've been the end of me
<heat> fraud is mega based
<mcrod> "I worked here", then they would've either called them or asked me for pay stubs
<mjg> heat: i know a guy who could not code for shit
<mjg> he defecated a resume with all kinds of buzzwords and program names
<mjg> fucking expert at everything he hard a name of
<mjg> i bet this landed him some job interviews at lol shops
<mcrod> the tipping point over the edge for my last job was hiring me in at near poverty wages, where I had to train someone fresh out of college making what I originally expected to get, who turned out to be hopelessly incompetent, and went to a decent school in the US
<mjg> would be instant figurative trashcan if i had seen it
<mcrod> then, a miracle: a recruiter from this job contacts me, I go for the interview, I get hired at exactly what I had asked for at my then current job
<mcrod> bailed.
<mjg> dude earning less than a new hire than you are training is corpoate 101
<mjg> especially so if the new hire is helpess
<mcrod> yeah, and I didn't like it
<mjg> check this out
<mcrod> I'm not saying it doesn't happen
<mcrod> but that job fucking *sucked*, man.
<mjg> at my first gig i was working iwth one guy
nanovad has quit [Quit: ZNC 1.7.5+deb4 - https://znc.in]
<mjg> and by working i mean i picked up the job real quick and was doing all of it
<mjg> he was not doing shit
nanovad has joined #osdev
<mjg> girls from customer support liked me, so they told the manager
<bnchs> hi
<mcrod> "girls from customer support liked me"
<mjg> he concluded they are right
<mcrod> i see where this is going
<gog> hi bnchs can i pet you
<heat> mjg is the hottest motherfucker in poland
<mjg> i figured i'm gonna get a rise, got nothin
<bnchs> gog: you can
<mjg> so after few weeks i asked for one
* gog petpetpetpet bnchs
<mjg> ... and i got less than the other guy
* bnchs purrs
<mjg> :]
<gog> oof
<bnchs> mjg: lol
<mcrod> i was told by one of my old coworkers at this job that my boss knew I was getting lowballed, but wasn't authorized to tell me
<mcrod> i can't stress this enough: corporate rules be damned
<mjg> i learned real quick that working hard only gets you exploited
<mcrod> yeah, I hear that a lot.
<bnchs> mcrod: i hope nobody works at your company
<mjg> and if anything is negatively correlated with your pay
<mcrod> bnchs: old company, not this one
<mcrod> this one is great
<bnchs> oh
<bnchs> well i hope nobody works at old company
<mcrod> unfortunately, they do
<heat> benches benches benches
<mcrod> and their client is one of the largest companies on the planet
<bnchs> heat: sit on me
<mcrod> note that I said I tested semiconductor packaging software
<heat> kinky
<mcrod> and I'm going to tell you all now
<mcrod> the fact that anything is even working, your PC in particular
<bnchs> mcrod: one of the largest companies?
<mcrod> it's nothing short of miraculous
<heat> wait, are you kaichiuchi
<mcrod> heat: bingo
<mcrod> :D
<heat> wtf dawg
<mcrod> i was hoping someone would notice
<bnchs> oh kaichiuchi
<heat> literally the same story, and the same name
<bnchs> where's your GB emulator
<mcrod> i'm too busy moving.
* mjg has no diea who kaichiuchi is
<bnchs> or am i thinking of the wrong person
<mcrod> no you aren't
<mcrod> i'm also lazy
<bnchs> yeah
<mcrod> mjg: i came here a while ago
<bnchs> i haven't worked on my emulator lol
<mcrod> well, "kaichiuchi" came here a while ago
<mcrod> then due to various life stuffs, I wasn't online very much
<mjg> i don't recall the nickname at all
<mcrod> you should, because I've talked to you at length.
<mjg> welcome back nonethelss? :p
<mjg> what?
<mjg> about what?
<mcrod> bsd
<mjg> are you sure it was me
<mcrod> yes i'm sure
<mjg> welp
<mcrod> polish, freebsd guy
<mjg> sorry mate
<mcrod> heat hates freebsd, etc
<mjg> i got nothin'
<mcrod> that's ok
* mcrod hug
<mjg> weird though
<mcrod> this is not the first time this has happened in my life
<mjg> when was it?
<heat> freebsd is garbage freebsd is garbage freebsd is garbage
<mjg> OH
<mcrod> one of the reasons for my name change is because "kaichiuchi" got me some... weird, weird looks
<mjg> right in the commit bit
<mjg> maybe i thought you were a waifu?
<mcrod> because of the "uchi" part?
<mjg> by any chance were you positive about bsd?
<mjg> :]
<mcrod> yes
<mcrod> i am a freebsd fan
<mjg> probably that's why
<mjg> i have a mental filter
<mcrod> :(
<mcrod> well, I don't really watch anime or the like
<heat> >freebsd fan
<heat> the shittest of tastes
* mcrod slap
<gog> anime wiafu freebsd enjoyer
<mcrod> but yes, hi, it is me, kaichiuchi, out here in the openm
<mjg> ^^ spouse material!
<heat> linux user but hipster
<gog> i have no opinion on freebsd
<heat> linux is somehow, too functional, i want to use something else
<mcrod> unfortunately, now I am the web dev of embedded.
<mjg> gog: it's not webscale
<gog> i didn't think so
<mjg> mcrod: so what do you use there
<zid> gog: want to see the most inaccurate portrayal of british culture in a movie ever?
<gog> i wonder what the redis cluster we use runs on
<mjg> linux? something else? custom?
<mcrod> mjg: windows
<mjg> on embedded?
<mcrod> well, what's "there"? my job?
<mcrod> oh
<gog> zid: yes
<mcrod> the embedded stuff is FreeRTOS
<mjg> mcrod: makes sense
<gog> hhhhhhhhhhhh
<mcrod> but we use windows to develop
<mcrod> which, I hate, hate, *hate*.
<mcrod> doesn't help that we use perforce either.
<gog> i read one joke that the pyramids aren't in the british museum because they're too big to move
<mjg> does iar only work on iwndows?
<mcrod> yes
<bnchs> mcrod: damn FreeRTOS
<mjg> mcrod: perforce? :d
<mjg> lol
<mcrod> i have no idea why we use perforce.
<mjg> that' some dotcom bubble techstack
<mcrod> we're not game developers
<mcrod> we're not working on AAA games
<mcrod> there aren't 28937489279349823 binary files being committed to the repo
<heat> intel firmware is almost exclusively developed using windows and msvc
<mcrod> also, our IAR version is so old the official extensions for VSCode don't support it
<mjg> no business case for updating it
<mjg> :X
<mcrod> unfortunately, there is a sad reality: gcc/clang doesn't support STM8, and our product is a mix of STM8/STM32
<mcrod> why that was done, your guess is as good as mine
<mcrod> should've been ARM through and through
<gog> what are you working on like control systems for gas wells or smth
<mjg> legay binaries?
<heat> legay
<gog> le gay
<mcrod> gog: no, if you're thirsty or in some countries hungry, you put money into a vending machine, it is verified, and then you get your drink or food. that's us.
<gog> ohhh right you said already
<heat> btw it seems that when it comes to x86, msvc codegen is smaller than gcc/clang
<heat> probably because msvc codegen sucks
<mcrod> there are so many things I'd want to change
<mjg> heat: what about sun studio :XX
<mcrod> e.g. using gcc/clang, having SEGGER J-Trace support, using CMake (sorry), having a toolchain that someone can just download and unzip and go
<mjg> > unzip
<mjg> you windowz users
<mjg> :X
<mcrod> i hate windows
<mcrod> the next step would be to go to Linux or macOS machines (i'm waiting for it)
* mcrod holds up the plate preparing for the tomatoes
<heat> freebsd machines
<heat> the gang struggles to install python
<mcrod> also
<mcrod> it doesn't help that we have massive security bullshit
<mcrod> if you try and compile a hello world on your PC outside of WSL, it refuses to run the exe
<heat> good
<heat> you didn't need to run it anyway
<gog> heat: i abandoned my efi thing
<heat> good
<gog> it was a stupid idea
<zid> efi things are not just for christmas gog
<mjg> mcrod: so what's the cpu + ram on those machines/
<mjg> if you can share
<mcrod> on the development PCs or what we're targeting
<mjg> that vending shite
<mcrod> well, you could in fact buy a unit off of ebay and pop open the cover
<mcrod> and see the MCU
<mcrod> so I guess it's safe to say: STM32F446VE
<mcrod> the other main two boards are STM8L0R52s
<mcrod> er, minus the s
andydude has joined #osdev
<mcrod> i have no idea why we'd need a "high performance" MCU for this, but...
<mjg> uness yo have a freertos kink i would try to bail to something linux-based
<mcrod> why?
<mjg> bigger market
<mjg> you can do all kinds of shit, but mostly internet of shit
<mcrod> i doubt we'd ever get off of freertos for this product
<mcrod> maybe for the next one, sure
<mjg> make up something linuxy as your 20% project
<mjg> you probably don't have the concept but just spend that time (and inf act more) doing it
<mjg> learning stuff for the next job on company dime is employee coping 101
<mcrod> I'm hoping that my boss buys fancy new SEGGER J-Trace probes
<mcrod> if we had tracing support, I wouldn't have needed to pull out an oscilloscope.
<mcrod> (they need trace pin support on the board, which we don't have, but again, something for the next project)
<mcrod> mjg: we bought a bunch of books, books that I shamelessly recommended but haven't read, so I've been reading them
<heat> netbsd does XIP
<heat> just saying
<zid> Maybe we'll get fred at the same time
<heat> outsb btw
<zid> why did they make them all unique rather than just having rep be a prefix byte I wonder
simpl_e has joined #osdev
[itchyjunk] has joined #osdev
<bslsk05> ​lwn.net: Subscription required [LWN.net]
<heat> oh shit
<bslsk05> ​lwn.net: 1½ Topics: realtime throttling and user-space adaptive spinning [LWN.net]
<mjg> wut
<heat> we're not the only ones to have that idea
<mjg> of course not
<mjg> the problem is well known if you have any clue aboutl ocking and the idea is obvious
<mjg> 's rather the question how come it was not solved up to this point
<heat> however, it's not very encouraging that there have been attempts before, and they all failed
<mjg> i don't know why they failed
<mjg> and can't be arsed to read, frankly
<bslsk05> ​lore.kernel.org: [RFC PATCH 0/4] Extend rseq with sched_state field - Mathieu Desnoyers
<heat> using the great rseq and its beautiful put_user stuff
<mjg> that code is crap
<mjg> +pagefault_disable();
<mjg> +(void) put_user(state, &t->rseq->sched_state);
<mjg> +pagefault_enable();
<mjg> part of "difficulty" is to avoid the smap trip
<mjg> hence the idea with separate mappings
<heat> :))
<mjg> what
<heat> > that code is crap
<heat> anyway yeah I know, we've got through this
<heat> gone*
<mjg> right
<mjg> i can't be arsed to read the older patc
<mjg> hes
<heat> I don't know how measurable the stac/clac is
<heat> in the whole context
<mjg> i suspect they may be predating smap so also running into the problem
<mjg> let's see if anyone measures
<mjg> looks like there is already overhead from mere rseq's existence
<mjg> it is plausible it can be folded into it
<mjg> i'm waiting for aneurysms from people who claim spinning is evil
<mjg> wastes cpu time
* mcrod spins
<gog> for some reason i have a reserved memory area 12GB in length
<gog> idek when this started
<mcrod> for some reason I've been reading the cutting room floor for 3 hours no
<mcrod> w
<heat> mjg, idk, its possible it plays poorly with some workloads
<heat> when considering the rest of the machine's state (not just that process, or that thread)
<mjg> on paper that may be true
<mjg> in practice spinnins has been a massive win all over tho
<mjg> spinning
<mjg> adaptive
<heat> well, in practice IN KERNEL WORKLOADS
<heat> you don't have numbers for userspace spinning
<heat> which are important to get
<mjg> i kind of do, people add just spinning for a time to boost perf
<mjg> it only goes to shit if they get off cpu
<mjg> which again would be sorted out with the above mechanism
<mjg> see for example "parking lot" for rust
<mjg> i don't think you appreciate how often stuff is contended and how just expensive it is go to the kernel and then off cpu
<heat> i do appreciate that
<heat> i implemented spinning remember?
<mjg> then what's up wtih the commentary
<heat> it's just a harder sell (particularly if trying to enable it in a corp context) if half the services get shafted by random userspace threads just spinning
<heat> which I don't know for a fact if they do
<mjg> well the good news is that one can lolimplement the thing
<mjg> like in the case above
<mjg> and find out
<heat> i have 0 data on this (and so do most people), that's what I'm saying
<heat> doing lolspinning on loldaptivelolmutexes is lol and not a particularly great data point
<mjg> ?
<mjg> lolimplement as in shit quality kernel spport for the idea
<mjg> so you can still do real adaptive spinning
<heat> see the glibc pthreads adaptive thing
<mjg> that's not what i meant
<heat> I'm not talking about this lolplementation, but rather the other ones
<mjg> i did mean adaptive spinning
<mjg> say the above patch ism erged
<mjg> and glibc taught to use it
<heat> but you're not going to use it on all mutexes
<heat> I'll guarantee you that
<mjg> i do wonder though how this will affect shit cases where people spawn a mind-boggling number of threads
* mjg glares at llvm
<mjg> lld
<heat> my man, web servers
<heat> I've seen a REDACTED service that spawned up to 2k threads
<mjg> was it varnish?
<heat> no
* mjg refuses to elaborate
kof123 has joined #osdev
heat has quit [Read error: Connection reset by peer]
heat_ has joined #osdev
<gog> ok why does qemu memory map now have approx 12GB chunk of memory starting at fd00000000
<gog> this broke my shit
<gog> it's fixed now but why
<gog> what is it for
<zid> acpi nonsense is massively over-comitted in your version of seabios?
<gog> i'm using ovmf
<zid> in ovmf
<zid> "How many acpi tables and pci-e resources do we need? idk start 12GB then add more later"
<zid> --intel
<gog> hm
<gog> it shows up as a reserved region in memmap
<gog> but there's nothing in info mtree about it
<bslsk05> ​github.com: qemu/hw/i386/pc.c at aa222a8e4f975284b3f8f131653a4114b3d333b3 · qemu/qemu · GitHub
<gog> this only started affecting me recently i wonder why
<zid> did you
<zid> turn your iommu on
<gog> no
<zid> I did though
<gog> i wonder if the default changed
<gog> i o m m u
<GeDaMo> Didn't he play with Black Sabbath? :|
<zid> I finally got bored and looked that up
<zid> Tony Iommi was the guitarist for black sabbath
terminalpusher has joined #osdev
<mjg> 2008 – A20 gate removed, which dropped compatibility to early 8086 operating system outside emulation.
<mjg> fucking bullshit
<gog> from what qemu?
innegatives has joined #osdev
<mjg> that intel doc linked earlier
<bslsk05> ​www.intel.com: Envisioning a Simplified Intel Architecture for the Future
<gog> oooh
<innegatives> that intel doc is not available in my country
innegatives has quit [Quit: WeeChat 3.8]
andydude has quit [Quit: Leaving.]
<zid> gorg?
<zid> In my irc?
<zid> It's more likely than you think
<gog> zifd
heat_ has quit [Remote host closed the connection]
heat has joined #osdev
<gog> heant
<zid> hean't cus he's always so cold to us
heat_ has joined #osdev
heat has quit [Read error: Connection reset by peer]
andydude has joined #osdev
gildasio has quit [Read error: Connection reset by peer]
Vercas69475 has quit [Remote host closed the connection]
Vercas694759 has joined #osdev
gildasio has joined #osdev
<gog> coldn't
<gog> is the same as heat
<gog> heatn't is the same as cold
wootehfoot has joined #osdev
<heat_> gogn't
heat_ is now known as heat
<heat> had a great nap
<heat> 10/10
<mjg> NapOX
<mjg> my next kernel
<mcrod> hi
<mjg> did you know i'm gonna write a project in RUST
<mjg> no joke
<mjg> userspace tho
<mjg> :okface:
<mcrod> are you guys still doing that RUUUUUUUUUUUUUUUUUUUUUUUUUSTSTSTSTSSTSTTSST!!!! thing
<heat> yeah
<mcrod> at work, someone was thinking about using Rust for our shit
<mcrod> and i immediately thought of this place
<gog> i'm rusting
<heat> rost
<mcrod> gog: are you going to make chili again
<gog> zid makes chili
<heat> bing chili
<mcrod> well, i want chili
<gog> i'm going out it's my friend's birfday
<mcrod> friend?
<heat> nice
<mcrod> i mean
<mcrod> this is #osdev
<mcrod> do you think we have real life friends
<gog> yes
<gog> we're all normal people with regular lives i hope
<mcrod> it's IRC
<mcrod> there is no such thing as a person with a regular life
<mjg> heat is my real friend :(
<mcrod> it is rare
<gog> i'm rare
<mcrod> accordingly, i have a fairly regular life
<mjg> i'm medium rare
<heat> i am real friends with everyone
<heat> if you need me, i will be there
<gog> i'm a boring person
<gog> i'm a NORP'
<mjg> very wholesome place
<mcrod> heat: i need you
<mcrod> now come to america
<mcrod> we have cookies, and poor health care
<heat> ok i'll try
<heat> in lkml i would call you an obnoxious cunt
<heat> *plop*
<heat> they dont do em like al anymore
<mjg> calm down sir
MaxLeiter has quit [Quit: The Lounge - https://thelounge.chat]
<heat> take it easy russel
MaxLeiter has joined #osdev
<zid> He just wants to school shoot you heat it's a trap
<mjg> chatgpt says he does not
<heat> what does AI biden say
<gog> ai biden says cut the malarky corn pop
<gog> hhh
andydude has quit [Quit: Leaving.]
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
dude12312414 has joined #osdev
goliath has quit [Quit: SIGSEGV]
heat_ has joined #osdev
heat has quit [Remote host closed the connection]
innegatives has joined #osdev
<mcrod> gog: gog
<zid> mcrod: Dorc M. Guez
<mcrod> wut
<zid> mcrod* typo
<mcrod> ok zod
<mcrod> zit would be better
<mcrod> even sounds actually similar
<zid> only if you glottalise the t weirdly
<zid> or are german and just do that anyway
slidercrank has quit [Ping timeout: 240 seconds]
thatcher has quit [Remote host closed the connection]
thatcher has joined #osdev
Burgundy has quit [Ping timeout: 240 seconds]
<moon-child> mcrod: zid
<mcrod> moon-child: heat_
<heat_> mjg: gog
<zid> hippy: mjg
<heat_> alviro: fuck off u fucking idiot
<bnchs> :(
<zid> al viro is my waifu
bgs has quit [Remote host closed the connection]
<jimbzy> That's pretty funny, zid.
innegatives has quit [Quit: WeeChat 3.8]
<zid> you forgot to grill me about how far I am
heat_ is now known as heat
wootehfoot has quit [Read error: Connection reset by peer]
pmaz has joined #osdev
rnicholl1 has joined #osdev
xenos1984 has quit [Read error: Connection reset by peer]
* sakasama is her own waifu.
innegatives has joined #osdev
<Ermine> gog: may I pet you?
<zid> gog: is there a possibly that i'm pegrent?
rnicholl1 has quit [Quit: My laptop has gone to sleep.]
xenos1984 has joined #osdev
<zid> old news smh
rnicholl1 has joined #osdev
<zid> we'll get it at the same time as FRED in 2080 is my expectation
<meithecatte[m]> huh it only just now showed up on my twitter feed
<kazinsal> my money's on it being an embedded derivative and not a mainstream ISA
<kazinsal> a la the i376
<meithecatte[m]> okay i scrolled the log a bit and it looks like it was posted earlier today. heck
<meithecatte[m]> i'd totally read the scrollback if the offtopic volume wasn't so high lol
<meithecatte[m]> it's probably for the better though, because that could probably affect my productivity
<zid> kazinsal: My guess is actually servers, somehow
<zid> or NUC or something they control more fully
<zid> as it will need MUCH support from the mobo/bios/etc end to exist in a first pass
<kazinsal> yeah, it's not going to be something we see in the traditional client space
<zid> meithecatte[m]: That counts as old in internet years
<zid> It'll slide into being normal by 2050, I was being funny with 2080.
<zid> (it took me 16 years to boot my first uefi application)
<kazinsal> prediction: when something finally supplants x86-64 on traditional client/server, X86-S will be what the supplanting architecture's equivalent of Rosetta will target
<kazinsal> the overwhelming majority of software at that point will be 64-bit only
<nortti> x86-s does seem to still allow 32-bit code in ring 3, unless I misunderstood
<zid> yea it does
<zid> The annoying part of this pdf is actually that the most interesting bit is "will have a table"
<zid> i.e what the hell the memory situation will be at boot
<meithecatte[m]> god i love matrix
<zid> 512x 1GB identity pages will probably just be fine though tbh, but who knows, maybe they'll do something silly
<meithecatte[m]> apparently at some point along the way a percentage of all the messages in this room are getting dropped
<zid> channel
<zid> rooms are what AOL had
<meithecatte[m]> and I have to look at whitequark's logs to get a coherent view of the conversation
<zid> Time to read via whitequark instead of matrix yea :P
<meithecatte[m]> zid: fuck offf it's almost 2am i get to call them thingimajigs if i want to
<zid> I'd browbeat you less for that
<zid> What you did is the equivalent of calling an animal lover a furry ;)
<meithecatte[m]> ok i looked up "browbeat" and i am disappointed that it is not some cool genre of physical violence
rnicholl1 has quit [Quit: My laptop has gone to sleep.]
<meithecatte[m]> (also fwiw they're called rooms on matrix too)
innegatives has quit [Quit: WeeChat 3.8]
<heat> zid, the memory situation at boot will be pretty self explanatory
<zid> You hope
<heat> you set up page tables statically in ROM, add a new entry to the FIT with their address, it gets loaded by the CPU
<heat> the FIT being this funny table Intel CPUs already interpret to do stuff pre-reset-vector
<heat> like ucode loading, ACM loading, et cetera
<zid> That's not what I care about at all
<zid> I care about _start:
<zid> there's a reason qemu and grub and stuff don't start you in 64bit mode
<zid> you need a bunch of agreements about memory
<meithecatte[m]> uefi does
<heat> you mean the kernel _start?
<meithecatte[m]> it's probably gonna be identity paging set up with the page table in some reserved area
<zid> yea that's what I said meit
<zid> meit, mate
<heat> no, you didn't mention the kernel
<heat> anyway, all that legacy crap will be broken
<heat> Welcome to EFI 2030 [GOALS] [HIGHLIGHTS] [DESPACITO REMIX] [HD]
<heat> i'm more worried about the authenticly garbage CR3 msrs