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
<netbsduser``> the Java (tm) HotSpot! (r) Performance Engine
<netbsduser``> mcrod: i should respect them more if so often they didn't just rewrite things from C to Rust, acting as human transpilers, a role beneath their dignity
<netbsduser``> and preserving every fault of the C original when viewed in the medium and when viewed in the large. but architecture is not a popular concept nowadays despite its importance
<heat> Oracle(tm) SPARC(tm) Optimized
<netbsduser``> god damn them
<netbsduser``> i wanted to work for sun when i graduated and then oracle came along and spoilt my dreams
<mcrod> when i was 16 i wanted to work for apple
<heat> i set my sights low
<mcrod> as someone who has a fair amount of apple products, i would’ve hated the work culture
<heat> i'd work for like IBM or novell doing SVR4 legacy maintenance
<heat> let me maintain HP-UX, it'll be the greatest itanium kernel ever
<heat> certainly the greatest itanium kernel out there on the market
<heat> shit let me maintain the solaris life support
<heat> would i minimize the vm_page's size? hell no, those would be breaking changes, and we don't break our customers, much less in an LTS release
<mcrod> i know someone who works for IBM
<mcrod> last time I talked to him he said it was boring as shit
<heat> stable income with an uneventful job? very poggers
heat has quit [Quit: Client closed]
<kof213> > (05:39:01 PM) zid: Shitty machines with 200kB of memory and a C compiler could build nethack IIRC it includes a public domain preprocessor too
<kof213> which ..i have not got there yet, but if it is c89 and "simple" then...
goliath has quit [Quit: SIGSEGV]
<netbsduser``> i have the book on HP-UX
<netbsduser``> charming kernel
<netbsduser``> they use hashtables everywhere, possibly because the bucket is a natural unit of locking? (such was popular in scaling unixes in the late 80s/early 90s, solaris does similar in some places)
netbsduser`` has quit [Ping timeout: 248 seconds]
Turn_Left has quit [Read error: Connection reset by peer]
vdamewood has joined #osdev
nyah has quit [Quit: leaving]
Matt|home has quit [Quit: Leaving]
<geist> yah i used to be much more into hashtables too. i used them all over the place in newos
<ChavGPT> hash tables?
<ChavGPT> old unix is just tables :]
<ChavGPT> e.g., a statically sized vnode table(!)
admiral_frost has joined #osdev
admiral_frost has quit [Quit: It's time]
netbsduser`` has joined #osdev
<geist> oh finally. win11 got the update that lets you ungroup windows on the taskbar
gildasio has joined #osdev
netbsduser`` has quit [Ping timeout: 260 seconds]
vdamewood has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<targetdisk> gawd dammit compiling UEFI stuff on anything that isn't a bog-standard Windows PC or Linux box is ass
<targetdisk> I just wanted the posix-uefi "hello world" demo to work on my Mac :(
netbsduser`` has joined #osdev
CaptainIRS has joined #osdev
gbowne1 has quit [Remote host closed the connection]
netbsduser`` has quit [Ping timeout: 248 seconds]
Gooberpatrol66 has joined #osdev
<geist> :(
moon-child is now known as Mondenkind
<kazinsal> yeah I've standardized on just having a headless VM running linux to do all my builds on
<kazinsal> does it make working on the codebases I fiddle with a bit more annoying from my linux or mac boxes? yeah, a bit
<kazinsal> does it make compiling stuff less of a headache? oh fuck yeah
<zid> w11 finally useable? :o
<kazinsal> I've been maining win11 for a few months now and it's been great
<kazinsal> more stable on this hardware than 10 was by a country mile
<kazinsal> still getting used to tabbed explorer but other than that, no problems
netbsduser`` has joined #osdev
<kazinsal> at some point I'll force my work laptop to win11, if only because I know it'll cause some chaos and I'll get to take the day off while our IT team (which is three people) figure out whatever Azure fucked up in the process
<kazinsal> but right now it's a good visual/mental sign of what machine is on what screen
<kazinsal> win10 screen has the win10 start button and systray font, win11 has the etc
netbsduser`` has quit [Ping timeout: 255 seconds]
GeDaMo has joined #osdev
netbsduser`` has joined #osdev
goliath has joined #osdev
Gooberpatrol66 has quit [Remote host closed the connection]
[itchyjunk] has quit [Read error: Connection reset by peer]
Gooberpatrol66 has joined #osdev
ThinkT510 has quit [Quit: WeeChat 4.0.4]
ThinkT510 has joined #osdev
mdaadoun has joined #osdev
flom84 has joined #osdev
stolen has joined #osdev
Burgundy has joined #osdev
Left_Turn has joined #osdev
gog` has joined #osdev
<gog`> hi'
<GeDaMo> Hi gog` :)
<gog`> gog: begone thot
gog has quit [Quit: byee]
gog` is now known as gog
cultpony has quit [Quit: ZNC - https://znc.in]
<zid> gog can you go to iceland and check if they have black pot noodles
cultpony has joined #osdev
<gog> bruh it's all the way out in heimar
<gog> no
<gog> my legs hurt
<zid> You can go to KFC at the same time
<zid> and get me a flaming wrap and soem popcorn chicken
FreeFull has joined #osdev
<GeDaMo> There's a new shop opened here called the food warehouse but it seems to be connected to the iceland company, I wonder if they're going to rebrand
<gog> hmmm
<zid> maybe they're opening non refrigerated stores?
<gog> nah i had chicken yesterday
<zid> iceland is a bad brand name for that
<GeDaMo> I think they've always had non-refrigerated food
<zid> I mean all non
stolen has quit [Quit: Connection closed for inactivity]
netbsduser`` has quit [Ping timeout: 248 seconds]
netbsduser`` has joined #osdev
<Ermine> gog: may I pet you
<gog> yes!
<zid> remember, no feeding, it had some chicken yesterday
* Ermine pets gog!
zxrom has quit [Quit: Leaving]
rustyy has quit [Ping timeout: 260 seconds]
* gog prr
admiral_frost has joined #osdev
mdaadoun has quit [Remote host closed the connection]
mdaadoun has joined #osdev
mdaadoun has quit [Remote host closed the connection]
[itchyjunk] has joined #osdev
mdaadoun has joined #osdev
heat has joined #osdev
<heat> for the idiots, morning idiots
<heat> for the friends, morning friends
<gog> :<
<gog> guess i'm an idiot
<mcrod> heat: hi moron
<mcrod> gog: hi friend
<gog> hi mcrod
<bslsk05> ​'Jose Mourinho - If I speak I'm in big trouble' by Arman (00:00:09)
<gog> i love chiplets
<heat> chiplets zen chiplets zen chiplets zen ryzen ryzen ryzen
<gog> ryzen ryzen ryzen
<gog> heat
<gog> have you heard of zenbleed
<zid> I love chiplets so much I specifically got one without them on purpose
<zid> I mean, chiplets++
<heat> gog, gosh am i going to need to have THE TALK with you
<ChavGPT> why are you people so negative
<ChavGPT> cheer the fuck up
<heat> you see gog, when a ... young microarchitecture reaches a certain age, she'll start, you know, bleeding
<heat> you may feel bothered or scared, but it's perfectly normal
<heat> do you want me to go get some patches to stop you from leaking microarchitectural state?
<gog> no i'm gonna freeleak
<sham1> What even is this conversation
<Mutabah> I have no idea...
<Mutabah> Unrelated but on-topic - I've found UDI again, and darn it's doing my head in :(
<Mutabah> maybe because I'm trying to make a safe rust interface for it
<sham1> What's UDI again?
<Mutabah> Uniform Driver Interface
zxrom has joined #osdev
<heat> lol
<sham1> Ah
<Mutabah> it's an early-2000's attempt at creating a driver API that works across any OS and platform
<sham1> So a cross-OS HAL, is what I'm hearing
<Mutabah> Yep. A rather well designed one
<Mutabah> In that it supports any kernel design (or driver model) you could think of
viatatribal has quit [Read error: Connection reset by peer]
masoudd has joined #osdev
<netbsduser``> i was going to implement UDI but i am too ignorant to tell whether it's really smart or just overly complicated
<netbsduser``> so i shimmed windows' storport API instead
<netbsduser``> it looked to me that you either need to be a genius or to be average and spend 6 months grappling the concepts daily to get anywhere with UDI
viatatribal has joined #osdev
<heat> also the real question may end up being "what UDI drivers?"
<netbsduser``> that was another big one
<netbsduser``> the few UDI drivers i did see were quite impenetrable and it looked painful to write more
<mcrod> hi
Turn_Left has joined #osdev
Arthuria has joined #osdev
Left_Turn has quit [Ping timeout: 272 seconds]
masoudd has quit [Quit: Leaving]
masoudd has joined #osdev
Vercas has quit [Quit: Ping timeout (120 seconds)]
Vercas has joined #osdev
mdaadoun has quit [Remote host closed the connection]
mdaadoun has joined #osdev
<netbsduser``> recently the idea of supporting a superimposed filesystem over another has been a bit of a bugbear for me, something i feel like i should really have, at least for tmpfs-over-some-read-only-fs
<zid> windows can do that but I forget what it's called
<netbsduser``> i have some rough sketches in my head of how i might do it but there are huge problems with my initial plan which would render it bad
<netbsduser``> looking at the trivial case, tmpfs over some ready-only fs: would want to use the vnodes of the underlying filesystem directly for read-only access, and generate a new file and vnode in the superimposed FS only for the case of opening for write access
<netbsduser``> but if someone memory opens readonly and maps the lower read-only file as MAP_SHARED; and only *after* that does someone open it read-write and modify it - then the changes won't be reflected in the shared mapping!
<zid> just sounds like some annoying management of what the .read pointer does vs the .write pointer
<zid> on the file object
<netbsduser``> unfortunately when the file is opened or the memory mapping is established, there is little left that can be done
<zid> it isn't settable to some fs specific thing?
<netbsduser``> the memory mapping is already associated with the lower-layer's vnode
<zid> like, how do you support something like /proc if procfs can't decide what the read pointer is set to, if I open() a file in /proc
heat has quit [Ping timeout: 258 seconds]
heat has joined #osdev
<netbsduser``> the trouble is that it's the lower file that's been opened and thus the lower vnode
<zid> yea, don't allow that :P
<netbsduser``> the alternative is i create an upper vnode for *every* opening of the file
<zid> if it's mounted in two different places, funny things may happen
<netbsduser``> which i find to be a vile design because it requires two vnodes exist for mere reading
<zid> mount -t tmpfs-backed-by-fs /mnt/tmpy /dev/sdc1, and open does the right thing for that situation, if sdc1 is already mounted either block the mount or allow weirdness
<zid> and that -t can deal with open setting up the read/write pointers in funny ways, done?
mdaadoun has quit [Remote host closed the connection]
<netbsduser``> it will have to
<netbsduser``> the trouble is that if you mmap the file you opened read-only before it has been 'shadowed' into the tmpfs by an open-for-write, then the mmap is of the lower vnode
<zid> why allow it to be mounted twice
<netbsduser``> no twice-mounts, just the lazy creation of upper vnodes
<zid> right but mmap needs it to be open, and if it's open, you already went through the special fs code
<zid> that knows it's a cow
<zid> so it's just up to the fs again what the 2nd open should do
<netbsduser``> i could, with enough hackery, induce mmap to carry out the shadowing procedure irrespective of whether the file was opened read-only
netbsduser`` has quit [Ping timeout: 272 seconds]
heat has quit [Ping timeout: 260 seconds]
heat has joined #osdev
xenos1984 has quit [Ping timeout: 240 seconds]
xenos1984 has joined #osdev
Arthuria has quit [Remote host closed the connection]
xenos1984 has quit [Ping timeout: 258 seconds]
<heat> btw that technique is usually called unionfs in the unix world
Vercas has quit [Quit: Ping timeout (120 seconds)]
<heat> also union mounts
<heat> is it more beneficial to separate cache lines by usage (this line is used for data structure traversal, this other line is used for whatever, etc) or by read-only/read-mostly/write-mostly?
<heat> does it depend on the workload?
<mcrod> i had a weird idea
<mcrod> running a python interpreter on a GPU
<mcrod> then it turned out some researchers did that with java
<mcrod> :(
Vercas has joined #osdev
xenos1984 has joined #osdev
<Hammdist> so I have a rudimentary ring buffer implemented now. a basic ping pong between two cores oscillates at around 800khz if I implemented it and did the math correctly
masoudd_ has joined #osdev
masoudd has quit [Read error: Connection reset by peer]
mdaadoun has joined #osdev
Hammdist has quit [Quit: Client closed]
mdaadoun has quit [Remote host closed the connection]
<Ermine> mcrod: were those researches that bored?
<mcrod> it seems so
<heat> javaaaaaaaaaaaaaa
<Ermine> Or jaaaaaaaaaaaaaava
<Ermine> never coded using java me
<kof213> > you see gog, when a ... young microarchitecture reaches a certain age
<heat> Ermine, you never wrote java??
<kof213> whatever, my astrology book says humans do fission in magic gardens
<Ermine> I wrote java
<Ermine> but never targeted java ME
<heat> oh sure
<Ermine> those oldschool mobile games...
<kof213> fission is more reflective, i must go with fission
<Ermine> that's what genz played before android/ios took off
<mcrod> i've never written a line of java in my life
<mcrod> and I'm pround
<mcrod> proud
<gog> i've written java in my life
admiral_frost has quit [Quit: It's time]
<gog> i currently write c# which is basically java
<heat> microshit java
<gog> that's right
<heat> vs Oracle(tm) Java(tm) Standard Edition
<mcrod> at work i have to maintain something, or help maintain something that looks like absolute shit
<mcrod> we call it ASP.NET
<heat> if it looks like shit and smells like shit and you don't want to touch it, it's probably shit
<gog> yeh
<gog> that's what i do all day
<gog> i wade through shit and i get paid
<gog> and the guy who left the shit makes twice as much as i do at another company
<mcrod> yep
<kof213> fission == self-hosting. that will be the last of such jokes, but i am all in on fission
<mcrod> the quickest way to raise your pay is to find another job
<mcrod> which, strikes me as madness
<mcrod> but it's the truth
<gog> i'm not ready to find another job yet
<mcrod> i'm not either
<gog> i like my company and the people i work with
<mcrod> i'm going to stay here for `hire_date + 5 years`
<mcrod> then bail
<heat> hola jefe cuando dinero
<gog> i got paid yesterday
<mcrod> so did I
<gog> i've gotten so lucky at this job that it's almost absurd tbh
<mcrod> gog we're besties
<heat> yo necesito de más dinero para chiplets
<gog> we are
<gog> i've gotten so lucky in fact that i'm certain my next job is going to suck in terms of culture and i'm almost immediately going to have to endure hostility from somebody who hates me on the basis of gender or sexuality
<heat> come work with me
<mcrod> heat what do you even do
<heat> i'll hate you on the basis of your IRC color being purple
<mcrod> i'll go first
<mcrod> i work on vending machine stuff and I am EMBEDDED
<heat> btw mcrod you're also purple
<mcrod> good
<gog> be nice to my bestie
<heat> i study and have a wank from time to time
<mcrod> hey me too.
<heat> ARE WE ALSO BESTIES
<mcrod> we can all be besties in #osdev
<heat> sure
<heat> after I say this:
<heat> fuck you mcrod fucky ou
<heat> now we're all besties
<mcrod> fuck you, embedded is great
<heat> fuck you stick your AVR STM8 garbage up your arse
<heat> i use real machine and real microprocessors with real memory
Hammdist has joined #osdev
<heat> does your board have chiplets? no? i thought so
<heat> ryyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzen
Hammdist has quit [Client Quit]
<mcrod> heat
<mcrod> there is nothing more joyful than getting something to work that's useful on resource constrained systems
<heat> ok
<mcrod> :(
<mcrod> one day you will come to see the light
<heat> if you really want to fuck with me i'd suggest you change the hexchat nick coloring algorithm
<CompanionCube> mcrod: well, here's a related weird idea: python interpreter on the VPU, which is kinda part of the 'GPU' in rpis
<heat> CompanionCube, that's not only possible but probably trivial
<kof213> i scored one of these on ebay a few years ago: http://www.professordan.com/avr/techlib/techlib8/appnotes/ AVR450: Battery Charger for SLA, NiCd, NiMH, and Li-ion Batteries This Reference Design is a battery charger that fully implements the latest technology in battery charger designs. # "the latest technology" of course that link is 2006
<bslsk05> ​www.professordan.com: ..:: AVR Application Notes ::..
<CompanionCube> heat: yeah, given there's a gcc port it's probably too not-weird arch-wise
<kof213> ATtiny861 8 KB ISP Flash memory, 512B EEPROM, 512B SRAM attiny85 8 KB ISP Flash memory, 512B EEPROM, 512B SRAM atmega644 64K ISP Flash memory, 4K SRAM, 2K EEPROM it is not impossible to do stuff with, esp. since the latter has serial, but i don't know if i am that daring yet
<kof213> the first 2 are pretty tight, the latter is ...not impossible
<mcrod> well you can fit snake in like... 80 bytes
<mcrod> which is cool
<bslsk05> ​donno2048/snake - A minimal snake in assembly (18 forks/464 stargazers)
<kof213> 64K "rom" IMO is plenty for some little bytecode thing or miniature "libc". it is the 4K ram that kills you IMO (who needs malloc()? why? it is only 4k lol )
<kof213> there is an simuavr that simulates 2 of those at least, so i think you could prototype without keep flashing (not sure what the limit is)
stolen has joined #osdev
<nortti> what are you thinking of building?
<kof213> nothing, just that is the smallest thing i have perhaps
<kof213> you are supposed to make it charge 2 batteries, can switch between them or ac power, so like a battery backup
<kof213> that is the real purpose, but it runs your little code because different type batteries need charged differently
<kof213> so it detects voltage, i have not looked too hard
<kof213> they are just saying "buy my CPU, look what it can do" it is a reference design
<gog> chiplets chiplets
<kof213> battery backup for vending machine comes to mind
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
<bslsk05> ​imgbb.com: 2023-09-30-20-17-53-Template-cpp-compiler-support-23-cppreference-com-Brave hosted at ImgBB — ImgBB
<mcrod> someone did this
zxrom has quit [Quit: Leaving]
antranigv has quit [Quit: ZNC 1.8.2 - https://znc.in]
<heat> sorry! i'll behave next time
antranigv has joined #osdev
dude12312414 has joined #osdev
heat has quit [Read error: Connection reset by peer]
heat has joined #osdev
masoudd__ has joined #osdev
masoudd_ has quit [Ping timeout: 240 seconds]
<mcrod> zid: i have questions when you have a minute
<Mondenkind> very interested in the mechanics of this
<Mondenkind> suppose zid has a minute, but then immediately stops having a minute. Do you suddenly stop having questions then?
antranigv has quit [Quit: ZNC 1.8.2 - https://znc.in]
<mcrod> genius.
<Mondenkind> I guess that, if zid immediately stops having a minute, then he didn't _actually_ have a minute; it just looked like he did. But then does that mean you didn't actually have questions, it just looked like you did?
<heat> are you stoned
<heat> least stoned freebsd user
<mcrod> the missile knows where it is at all times
<Mondenkind> ;o
<Mondenkind> how does it know this?
antranigv has joined #osdev
<mcrod> it knows this because it knows where it isn’t
<Mondenkind> oic
<gog> i don't know where i am nor am not
eschaton has joined #osdev
<mcrod> gog may I pet you
<gog> yes
* mcrod pets gog
<gog> prr
antranigv has quit [Quit: ZNC 1.8.2 - https://znc.in]
<Mondenkind> gog: i think ur in iceland
antranigv has joined #osdev
<gog> when
<gog> oh
<gog> my son
heat has quit [Remote host closed the connection]
heat has joined #osdev
antranigv has quit [Quit: ZNC 1.8.2 - https://znc.in]
gbowne1 has joined #osdev
masoudd__ has quit [Ping timeout: 248 seconds]
antranigv has joined #osdev
gbowne1 has quit [Remote host closed the connection]
gbowne1 has joined #osdev
stolen has quit [Quit: Connection closed for inactivity]
antranigv has quit [Quit: ZNC 1.8.2 - https://znc.in]
antranigv has joined #osdev
ppmathis has joined #osdev
Vercas has quit [Quit: Ping timeout (120 seconds)]
admiral_frost has joined #osdev
admiral_frost has quit [Quit: It's time]
bauen1 has quit [Ping timeout: 260 seconds]
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
gog has quit [Quit: byee]
antranigv has quit [Quit: ZNC 1.8.2 - https://znc.in]
bauen1 has joined #osdev
antranigv has joined #osdev
goliath has quit [Quit: SIGSEGV]
[itchyjunk] has quit [Ping timeout: 272 seconds]
FreeFull has quit []
Vercas has joined #osdev
antranigv has quit [Quit: ZNC 1.8.2 - https://znc.in]
antranigv has joined #osdev
[itchyjunk] has joined #osdev
Burgundy has quit [Ping timeout: 255 seconds]