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 has quit [Ping timeout: 252 seconds]
Left_Turn has quit [Ping timeout: 260 seconds]
X-Scale has quit [Quit: Client closed]
<the_oz_> jesus, finfet is like oh ok
<the_oz_> @_@ so duplication to make it more rugged and actual design
heat has quit [Read error: Connection reset by peer]
heat_ has joined #osdev
<the_oz_> we must preserve the muber of Finns
\Test_User has quit [Quit: \Test_User]
\Test_User has joined #osdev
voidah has joined #osdev
levitating_ has joined #osdev
levitating has quit [Read error: Connection reset by peer]
levitating__ has joined #osdev
levitating_ has quit [Ping timeout: 276 seconds]
X-Scale has joined #osdev
levitating__ is now known as levitating
Arthuria has joined #osdev
Left_Turn has joined #osdev
levitating has quit [Read error: Connection reset by peer]
levitating_ has joined #osdev
Left_Turn has quit [Read error: Connection reset by peer]
X-Scale has quit [Quit: Client closed]
voidah has quit [Ping timeout: 276 seconds]
levitating_ has quit [Read error: Connection reset by peer]
levitating has joined #osdev
levitating has quit [Ping timeout: 246 seconds]
nur has quit [Remote host closed the connection]
MarianG has quit [Quit: Leaving]
Gooberpatrol_66 has quit [Ping timeout: 248 seconds]
qubasa has quit [Ping timeout: 246 seconds]
X-Scale has joined #osdev
TkTech has quit [Quit: Ping timeout (120 seconds)]
TkTech has joined #osdev
marcopolo2 has quit [Quit: Connection closed for inactivity]
gog has quit [Ping timeout: 260 seconds]
levitating has joined #osdev
levitating has quit [Ping timeout: 246 seconds]
craigo has quit [Quit: Leaving]
Gooberpatrol_66 has joined #osdev
mrkajetanp has joined #osdev
mrkajetanp has quit [Ping timeout: 252 seconds]
heat_ has quit [Read error: Connection reset by peer]
heat__ has joined #osdev
mrkajetanp has joined #osdev
mrkajetanp has quit [Ping timeout: 246 seconds]
TkTech has quit [Ping timeout: 245 seconds]
Arthuria has quit [Ping timeout: 276 seconds]
X-Scale has quit [Quit: Client closed]
mrkajetanp has joined #osdev
mrkajetanp has quit [Ping timeout: 265 seconds]
Dead_Bush_Sanpai has quit [Read error: Connection reset by peer]
Dead_Bush_Sanpa1 has joined #osdev
Dead_Bush_Sanpa1 is now known as Dead_Bush_Sanpai
heat__ has quit [Read error: Connection reset by peer]
heat__ has joined #osdev
heat__ has quit [Read error: Connection reset by peer]
heat__ has joined #osdev
mrkajetanp has joined #osdev
mrkajetanp has quit [Ping timeout: 260 seconds]
heat__ has quit [Read error: Connection reset by peer]
heat__ has joined #osdev
mrkajetanp has joined #osdev
mrkajetanp has quit [Ping timeout: 245 seconds]
Bitweasil has quit [Quit: ZNC 1.8.2+deb2build5 - https://znc.in]
Bitweasil has joined #osdev
Dead_Bush_Sanpai has quit [Read error: Connection reset by peer]
Dead_Bush_Sanpa1 has joined #osdev
xenos1984 has quit [Read error: Connection reset by peer]
Dead_Bush_Sanpai has joined #osdev
Dead_Bush_Sanpa1 has quit [Read error: Connection reset by peer]
mrkajetanp has joined #osdev
Gooberpatrol_66 has quit [Read error: Connection reset by peer]
Gooberpatrol66 has joined #osdev
xenos1984 has joined #osdev
mrkajetanp has quit [Ping timeout: 248 seconds]
mrkajetanp has joined #osdev
mrkajetanp has quit [Ping timeout: 252 seconds]
mrkajetanp has joined #osdev
mrkajetanp has quit [Ping timeout: 246 seconds]
X-Scale has joined #osdev
youcai has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
mrkajetanp has joined #osdev
mrkajetanp has quit [Ping timeout: 260 seconds]
Dead_Bush_Sanpai has quit [Read error: Connection reset by peer]
Dead_Bush_Sanpai has joined #osdev
kilic has joined #osdev
Matt|home has quit [Quit: Leaving]
vinleod has joined #osdev
mrkajetanp has joined #osdev
vdamewood has quit [Ping timeout: 248 seconds]
vinleod is now known as vdamewood
mrkajetanp has quit [Ping timeout: 252 seconds]
Matt|home has joined #osdev
<geist> the_oz_: glad someone looked at it
<the_oz_> all it realkly does is make me want to 3d print circuit board
<geist> heh
<geist> there's a great branch education video about modern fab plants that's pretty good overview
<the_oz_> I used to know a couple of guys that ran a t shirt company
<the_oz_> that's as close as I've gotten to the process, I imagine
<bslsk05> ​www.youtube.com <no title>
<the_oz_> silkscreeners
<geist> I think between these two videos I finally grok why finfets are the way they are
<sortie> https://sortie.sortix.org/for/sortix/sortix-dependencies.png ← You ever have one of those days where osdev just becomes the Beyond Linux From Scratch guide?
<geist> LFS I havne't thought of that in a long time
mrkajetanp has joined #osdev
<sortie> It's actually surprisingly useful as a guide to look up how to build stuff and what dependencies it needs
<geist> yeah
<geist> is it still updated?
<sortie> Totally
<heat__> hey i linked it yesterday
heat__ is now known as heat
<geist> sortie: did I hear something?
<geist> like some sort of voice in the wind but can't really read it
<sortie> heat, our esteemed colleague here at the university of osdev, has successfully reached the point where he has become a Linux distribution
<geist> a facet of nature, the universe. but otherwise nonexistant on our plane
<geist> unable to directly communicate with us
<sortie> The pattern screamers, somehow valid IRC
<kazinsal> *rips a fresh line* LET'S START A DISTRIUBTION OF SOFTWARE FROM THE VICINITY OF BERKELEY CALIFORNIA
<heat> the best part of becoming a linux distribution is that your system can become unapologetically unusable
* geist is watching australian guy squat in the woods and make a new furnace
<sortie> I have a plan to hand out Sortix CDs at Berkely, an event later known as the Berkeley Sortix Distribution
<geist> osdev seems kinda like the other end of the same continuum of silly human activies
mrkajetanp has quit [Ping timeout: 248 seconds]
marcopolo2 has joined #osdev
<kazinsal> yeah. man's furnace still requires him to rub two sticks together to create an ember and the end result is three prills of iron. osdev nih results in 90 different hello worlds per year and one kernel that can implement half of stdio
<heat> anyway we were benching the vf2 and it seems that it's actually acceptably fast
<heat> for system building
<geist> which is more primal? unknown
<sortie> <heat> it's looping on a pselect6 :(
<sortie> Can I use pselect6 if I haven't used the first 5?
<heat> no.
<kazinsal> the osdev one is more primal. any neo-paleolithic dork would understand that it's easier to keep fire going and just create new fires from existing fires
<kazinsal> osdev is the raw meat subculture equivalent of systems programming
<bslsk05> ​xkcd - Tech Loops
<geist> kazinsal: hey I was in vancouver last week for a day. pretty city
<kazinsal> now here's my reimplementation of v4 unix for the ibm pc/xt:
<geist> a huge pita to drive around
<kazinsal> oh nice
<geist> good game store though
<kazinsal> yeah driving in the couv sucks, even in the burbs
<geist> yeah it's just surface streets everywhere with no protected left
<geist> like, wow.
<kazinsal> it gets easier east of the fraser because the roads are all on the dominion land survey grid
<kazinsal> but in the city it's all aligned to like, 1860s surveys
<geist> but the drivers seemed pretty competent but not hyper aggressive
<geist> the park in downtown is really nice
<geist> very English.
<kazinsal> stanley park is a literal national treasure
GeDaMo has joined #osdev
<kazinsal> we just partitioned off half of the downtown real estate and made it a giant park
<geist> I stayed at an old hotel right next to it. was nice
<geist> the Sylvia I think
<kazinsal> oh yeah that's a nice one
<kazinsal> I'm probably gonna head down your way in a few weekends, not this or next because I haven't got a hotel this weekend and next weekend I have some work
<kazinsal> but I've got a goal to hit up the connections museum and they're only open on sundays
<geist> sure, drop me a note
<kazinsal> also gonna pack as much crap from re-pc as I can into my trunk
<geist> oh shit I wanna go there, will totally sync up for that
<kazinsal> yeah, they're open from like 10 to 3 and do hour and change long tours
<kazinsal> so either I'll do an overnight sat-sun or just get up at 7am on a sunday (eugh)
<geist> heh yeah and re-pc there are two of them. one is farther south in Renton and is bigger
<kazinsal> yah I've seen videos of gravis going to both and coming out with a bunch of weird stuff
<kazinsal> I'm hoping I can magic my way into some XT or AT class boards or something haha
<geist> every time I go i'm a bit disappoint, but I think I have graduated to wanting specific functional things
<geist> good for old hard drives and random cables but otherwise
<geist> yah there are tons of boards there
<kazinsal> honestly I'd be fine with a nice working CRT, those are unobtanium up here
<kazinsal> and/or a selectric. really want to gift my mother a working one for her 60th since she used one when she was working for a newspaper 40-ish years ago
<geist> so I *kinda* kick myself for not buying a selectric a few months ago at the annual Bainbridge Island rotary club auction
<geist> I just straight up saw one on a table
<geist> but then i'd have to literally haul it out and carry it a mile away, since I wans't really set up for that
<geist> and I had no idea if it worked, etc
<kazinsal> I've been selfishly thinking I need to get into the local ham radio scene just so I can get into any sort of estate sale when one of the old timers kicks it and has a hoard of well maintained electronic bits
<kazinsal> also if you have a ham license here you can get your callsign as a license plate, and that's a great idea
<geist> heh yeah my nephew just got his ham license in Ontario
<geist> I should finally do it myself
<kazinsal> the nearest examiner here is some dude in his mcmansion a couple miles away
<geist> you can apparently do it over zoom nowadays
<kazinsal> literally like a ten thousand square foot house on a 40 acre parcel
<geist> word.
<kazinsal> with just enough "farm equipment" to count it as farmland
<kazinsal> so developers can't buy it up
<geist> and probably a tax break
<kazinsal> oh yeah
<geist> CA I think has ridiculous farming subsidies
mrkajetanp has joined #osdev
<kazinsal> I looked it up on the BC Assessment site, legally speaking the land is only worth like $120k
<kazinsal> despite being 40 acres
<kazinsal> so dude's yearly property tax is nothing
<geist> yah in TX there was the same thing: if you run some cattle on it or use it for agricultural reasons you pay basically no tax on it
<kazinsal> something like five bucks per thousand dollars of assessed value
<geist> so you just rent it out for someone to run some cattle on a field somewhere some portion of the year
<kazinsal> I think my dad's house is currently assessed at a million and a half or so, and it's a sixth of an acre in a suburb an hour's drive from downtown vancouver
<kazinsal> the house itself is barely worth anything, being a 1980s suburban cookie cutter
<geist> it's so ridiculously expensive to live in Vancouver it seems
<kazinsal> yeah, it's something else
<kazinsal> I pay about 1750/mo for a 500 sqft apartment (air conditioned, at least) and my drive to work is about 35 minutes if I have to go into the office because of the messed up traffic and construction and how there are, I shit you not, two golf courses in the way
<kazinsal> and if I were to rent this place from scratch now it'd be closer to 2100
<geist> it's pretty at least
<kazinsal> and I'm roughly in the same neighbourhood as my pops so, about an hour by car to downtown
<kazinsal> oh yeah, greenery everywhere
<geist> but then I live in the woods, so same thing
<kazinsal> fraser river's like ten minutes away
<kazinsal> and it's about a 20 minute drive to the border so I can pop down to blaine for cheap gas
<geist> heh yah I guess even with the difference in dollar, gas in us is cheaper
<kazinsal> yeah
<geist> I was pleased to see my global entry card let me into the US in like 5 minutes
<kazinsal> not by too much, but enough to make a trip down
<geist> I have never used it at the driving border for one reason or another
<kazinsal> plus I can hit up edaleen dairy and get some literally farm fresh ice cream for a couple bucks
<geist> but I was by myself in the car this time so could take the nexus lanes
<kazinsal> oh yeah the global entry stuff is FANTASTIC
<kazinsal> last time I flew down to vegas I was behind these three kids in the customs lineup
<geist> well I guess nexus is a tier above, but global entry is good at least in one direction
<kazinsal> probably barely 21
<kazinsal> the guard spent like five minutes interrogating them
<kazinsal> I handed him my card and he just goes "hey sup man"
<geist> yeah I waved the card outside the window of the car at one stop and then by the time I got to the guy a little farther along he's like hey sup man
<kazinsal> nexus is great, but they haven't updated my card's photos since I was 18
the_oz_ has quit [Remote host closed the connection]
<kazinsal> so I recently got a renewed card good for another ten years and, yep, that's my photo from when I was 18
<geist> yeah same
the_oz_ has joined #osdev
<kazinsal> I've got another flight down to vegas next month so I can't wait to see what the customs agent sees
<kazinsal> but they're usually real good about it
<kazinsal> almost always a quick 30 seconds through the station. weirdest I've ever had was a US CBP agent asking if I was bringing firearms *into* the US
<geist> yeah and getting back into the US is usually the slowest line
<kazinsal> like, yeah, man. that's what I'm here to do. bring guns *into* the states.
<geist> he'd probably be like 'oh cool, yeah we need more'
<kazinsal> the first time a border guard ever called me by my first name was weird
<kazinsal> like, uh, sorry sir yes sir sorry sir?
<kazinsal> I guess some CBP agents on the nexus lane just kinda relax a bit
<geist> I remember one time heading into Canada and the guy literally had like an AR15
<geist> I was totally surprised at it
<geist> he was pretty military too, with the usual questions that try to trip you up
<kazinsal> yeah, CBSA is some real shit
<kazinsal> one of the most baffling things about civilian gun laws in canada is that AR-15s aren't legal to own but AR-18s are
<kazinsal> most common rifle in the US? nope. most common rifle used by the IRA? sure why not
<geist> I guess it's because AR-18 is 'less good' than an AR-15?
<kazinsal> but it's 3 more!
<kazinsal> but yeah I'll let you know when I'm on my way down. might be later this month, but more likely it'll be mid october since I've got a few weeks off on account of a) having that trip to vegas and b) it being one of the less favourable vacation periods on the union vacation calendar
<geist> kk
<kazinsal> I've bargained with one of my senior guys to get a week to do def con next year at least
<kazinsal> for which I am already prepping a burner laptop and phone
<geist> I might be down in California for the riscv convention or whatnot in mid october
<kazinsal> no way am I taking my day to day macbook and iphone to def con
<geist> otherwise yeah nothing planned
<geist> heh yeah only burner phones for def con
<kazinsal> oct 7-18 is when I'm off, down in vegas oct 10-15
<kazinsal> it was going to be oct 11-14 but it somehow ended up being cheaper to take two extra days down there...
<geist> watching Nile red make some insane thing
<kazinsal> I've already asked my local extreme linux nerd friend for assistance lol
<kazinsal> the guy who has a pinephone and two spare batteries in his wallet
<kazinsal> and I've hacked an asus chromebook into running fedora
<geist> you want one of those 8086 laptop thingies
<kazinsal> which miraculously actually has working sound, touchpad, and touchscreen drivers
<kazinsal> haha, yeah. pop an 8086 onto the def con network and go "NOW WHAT"
<heat> do you actually get hacked at those things?
<kazinsal> oh yeah, people are phishing on fake open wifi etc all the time there
<kazinsal> it's a con of ten thousand hacker dorks
<geist> yah I always meant to go
<kazinsal> there's a literal wall of shame for people caught transmitting credentials over cleartext
<kazinsal> I'd like to go and meet guys like deviant and karl
netbsduser has joined #osdev
<kazinsal> dev taught me how to break into places and one of my first jobs out of the gate I scared the shit out of our CTO with it
<kazinsal> literally slipped the latch on our datacenter
<kazinsal> in retrospect that was an insanely stupid thing for a 21-year-old to do on his first job out of uni, showing the CTO how easy it is to break into the datacenter in the back of the office
<heat> ok so hypothetically what if you took some random homebrew UNIX to those cons
<kof673> > watching Nile red wait wait wait wait someone uses this as their nick?
<geist> yesss?
<kazinsal> a few def cons ago the CTF contest had a literal bespoke CPU as the target
<nikolar> heat: would you hypothetically bring onyx
<kazinsal> bringing a homebrew unix to def con to hack would be a welcome challenge
<kof673> ok, cool, as seen in "the shining" j/k seems to be "iron" IMO gold/silver/brass/iron anyways :D
<geist> that's an AI trick some day: given an unknown architecture and the ability to insert code and run it and observe the output, figure out and learn the architecture
<kazinsal> I've had this idea of doing a talk at def con and at the start firing up an MS-OS/2 LAN Manager instance running on cycle-accurate emulation
<kazinsal> and seeing how long it takes into the talk before it gets hacked
<nikolar> geist: so basically, directed brute force :P
<geist> yeah but an AI thing so it's smarter than just pure brute force
<nikolar> thus the "directed"
<geist> it's an old idea I had. I think I read it in some old 70s sci Fi book
<kazinsal> thankfully most people who are interested in def con are generally disgusted by the GPU Powered Plagiarism Engine
<geist> maybe 'adolescence of P1'
<geist> but idea is it could break into any new machine and if it was a new architecture it would figure it out and cross compile itself
<geist> it being an AI
<nikolar> kazinsal: kek
<kazinsal> though these days I also work for a university so when someone says "AI" the whole team goes "NO FUCK YOU GO AWAY BEGONE DEMON SPIRIT"
<heat> i would hypothetically bring onyx and it would be fun if they could hack it Just Like That
<kazinsal> GPT-powered plagiarism has scarred faculty forever
<kazinsal> I just wish I were good at hacking or something so I'd have a reason to present something at def con. unfortunately I am just some dude who maintains hypervisors and networks and stuff
<kazinsal> so clearly I need to invent something bad, have someone hack it, and fold that into a talk
<sortie> Speaking of AI, sortix has had GPT support since 2015
<nikolar> define GPT support
<kazinsal> imagine a really bad two line image macro here: "yeah I'm a big fan of GPT [nbsp;nbsp;nbsp;nbsp;] GOOCH PUSSY TITS"
<kazinsal> sorry I don't know what came over me
<zid`> I've had GPT support since 2023
<zid`> Because I abhor change
<zid`> partitions should not have a CLSSID it's unnatural
<kazinsal> I'm of the opinion where if you're at the point where you're putting a 16-byte string into your identification table you can use 12 of those for a cleartext ID and the other four for a system specific ID
<kazinsal> twelve characters ought to be enough to say "BOOT ext4 " and another four of nulls signifying it's your primary boot partition
<kazinsal> "zfs badidea " -> don't fuck with this partition, if you do someone will scream on hackernews that your killed their data
youcai has joined #osdev
<Matt|home> hello <3
<sortie> yo Matt|home
mrkajetanp has quit [Ping timeout: 246 seconds]
mrkajetanp has joined #osdev
elderK has joined #osdev
op has joined #osdev
netbsduser has quit [Ping timeout: 252 seconds]
netbsduser has joined #osdev
voidah has joined #osdev
heat_ has joined #osdev
heat has quit [Ping timeout: 246 seconds]
levitating has joined #osdev
MelanieUrsidino has quit [Ping timeout: 244 seconds]
levitating has quit [Ping timeout: 265 seconds]
voidah has quit [Ping timeout: 246 seconds]
levitating has joined #osdev
levitating has quit [Remote host closed the connection]
Ellenor has joined #osdev
X-Scale has quit [Quit: Client closed]
voidah has joined #osdev
levitating has joined #osdev
Left_Turn has joined #osdev
marcopolo2 has quit [Quit: Connection closed for inactivity]
Ellenor is now known as MelanieUrsidino
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 276 seconds]
X-Scale has joined #osdev
levitating has quit [Remote host closed the connection]
netbsduser has quit [Ping timeout: 272 seconds]
elderK has quit [Quit: WeeChat 4.3.1]
netbsduser has joined #osdev
the_oz_ has quit [Read error: Connection reset by peer]
Left_Turn has joined #osdev
Turn_Left has quit [Ping timeout: 244 seconds]
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
edr has joined #osdev
mrkajetanp has quit [Ping timeout: 252 seconds]
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 248 seconds]
Left_Turn has joined #osdev
fluix has quit [Ping timeout: 252 seconds]
Turn_Left has quit [Ping timeout: 264 seconds]
fluix has joined #osdev
CapEnt has joined #osdev
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 252 seconds]
voidah has quit [Ping timeout: 276 seconds]
hwpplayer1 has joined #osdev
craigo has joined #osdev
Arthuria has joined #osdev
mrkajetanp has joined #osdev
X-Scale has quit [Quit: Client closed]
Arthuria has quit [Ping timeout: 260 seconds]
X-Scale has joined #osdev
Left_Turn has joined #osdev
Turn_Left has quit [Ping timeout: 248 seconds]
xenos1984 has quit [Ping timeout: 246 seconds]
xenos1984 has joined #osdev
pg12 has quit [Remote host closed the connection]
pg12 has joined #osdev
Arthuria has joined #osdev
Arthuria has quit [Killed (NickServ (GHOST command used by Guest684531))]
Arthuria has joined #osdev
Matt|home has quit [Quit: Science is our most powerful tool, our greatest weapon, and our strongest shield. Vincere fatum.]
gog has joined #osdev
MiningMarsh has quit [Quit: ZNC 1.9.1 - https://znc.in]
mrkajetanp has quit [Ping timeout: 276 seconds]
MiningMarsh has joined #osdev
op has quit [Remote host closed the connection]
gog is now known as pog
m5zs7k_ has joined #osdev
m5zs7k has quit [Read error: Connection reset by peer]
xenos1984 has quit [Ping timeout: 252 seconds]
guideX_ has joined #osdev
m5zs7k_ is now known as m5zs7k
<heat_> it turns out there's a very big POSIX advisory locks fan called "chrome" :/
<heat_> docker on the other hand seems to enjoy flock
<heat_> guess i'll fully implement this shit
guideX has quit [Ping timeout: 248 seconds]
xenos1984 has joined #osdev
spareproject has joined #osdev
fkrauthan has quit [Quit: ZNC - https://znc.in]
guideX_ is now known as guideX
fkrauthan has joined #osdev
<Ermine> there's another file lock mechanism
<Ermine> ^ with Yoda's voice
<heat_> there is, OFD locks
<Ermine> Also, you're not going to run Docker, right?
<heat_> who knows
<Ermine> That would require namespaces afaik
<heat_> WE ARE NOT RUNNING DOCKER!
<Ermine> And namespaces are going to be hard
<heat_> isnt there a docker for !linux where it just spawns a VM?
<Ermine> idk
<Ermine> Windows has its own container impl iirc
<Ermine> but if you know it will be a vm, you're probably better off with porting qemu
<heat_> docker on windows definitely uses a VM
Arthuria has quit [Ping timeout: 246 seconds]
<Ermine> well okay
Starfoxxes has joined #osdev
Arthuria has joined #osdev
frkazoid333 has quit [Ping timeout: 248 seconds]
the_oz has joined #osdev
hwpplayer1 has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.4)]
<nikolar> heat_: pretty sure it uses a VM on macs too
MiningMarsh has quit [Quit: ZNC 1.9.1 - https://znc.in]
<netbsduser> who even uses posix advisory locks
MiningMarsh has joined #osdev
<heat_> sqlite and chrome and chromium
GeDaMo has quit [Quit: 0wt 0f v0w3ls.]
<netbsduser> well if sqlite uses it then that's fine
<netbsduser> sqlite is probably among the few programs that is actually suited to that rare niche of really portable c
<heat_> OFD locks were actually standardized
<heat_> which is AFAIK basically posix locks with better semantics
frkzoid has joined #osdev
<sortie> heat_: It's such happy news they got stdandard :D
<heat_> also fwiw i already have flock(), which is actually pretty simple to implement
pog has quit [Ping timeout: 260 seconds]
Arthuria has quit [Ping timeout: 260 seconds]
<geist> why do i find myself reading about P=NP and whatnot today?
<geist> i dont really care that much about this stuff, but every day has a new rabbit hole
<geist> i guess that's good, means my brain still continues to function
rom4ik1 has quit [Read error: Connection reset by peer]
<nikolar> lol that's the spirit
<sortie> heat_: For maximum confusion, flock(2) is actually per-fd locks
<sortie> While struct flock used by fcntl is per-process
<sortie> And lockf(2) is per-process too
<heat_> i know
<heat_> lockf uses POSIX advisory locks
<heat_> and POSIX advisory locks were retrofitted into fucking fcntl because they're stupid
xenos1984 has quit [Read error: Connection reset by peer]
rom4ik1 has joined #osdev
<nikolar> lol
jedesa has quit [Remote host closed the connection]
vdamewood has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
xenos1984 has joined #osdev
marcopolo2 has joined #osdev
<dinkelhacker> Hey all, I was just thinking if it makes sense to lock access to the interrupt controller o.O? Does it sense to acquire a spinlock if anyway the cpus have their own cpu interface (i'm thinking about a GIC)? Do you disable interrupts before messing wit its registers?
<heat_> uhh, it depends?
<heat_> if they have shared state you need to touch, then take a lock obviously
<geist> yah like in the case of the GIC distributor on ARM or x86 IOAPIC, you should probably lock access to things that futz with the state
<geist> but the GIC cpu interface, gic redistributor, and local apic you probably dont
<geist> those last 3 have instruction level interfaces on modern cores too
<heat_> for the pcpu controller stuff, just make sure you don't get migrated off the core
<heat_> and/or possibly interrupted by an IRQ
<geist> ah indeed. good catch. dont need a full spinlock but disable interrupts/preemption while doing it
<geist> and of course futzing with local cpu things inside an interrupt is intrinsically safe (as long as you dont reenable ints)
<geist> ie, the CLAIM registers, etc
<dinkelhacker> Thanks. Yea I also thought that the cpu interfaces don't need a lock. Only the distributor.
<geist> or the ITS i guess if you're implementing that
<geist> (i've been rereading the GICv3/4 stuff the last few days)
<dinkelhacker> It's funny because Rust is the reason I'm actually thinking about this because I had a cyclic dependency where the sync crate depends on the arch crate for disabling interrupts but i also wanted to use a lock in the arch crate... Got so frutrated untangling this so it got me thinking if I can get rid of the lock :D
<dinkelhacker> No I'm only doing base GICv2 stuff.
<dinkelhacker> I mean you can have modules inside crates depend on each other but then you'll end up with a big ass crate and if you touch one moduel inside it everything needs to be recompile from scratch..
<dinkelhacker> Why did I decide to use Rust?
kilic has quit [Quit: Leaving]
<heat_> great question!
Turn_Left has joined #osdev
<heat_> btw: gic should not be in the arch crate
<dinkelhacker> yeah... silly me..
<heat_> interrupt controllers (particularly in !x86 land) are not architectural
<geist> FWIW GIC is just an option. not all ARMS use it, and other arches can theoretically use it
<geist> though there of course are specifics that say if you're using an ARMv8 and you're GICv3 you can use these intstructions instead of MMIO interface, etc. but that's basically an #ifdef
<geist> but even if you pull the gic out you might hit the same problem again
<geist> maybe worth having a low level arch crate and an arch crate
<geist> like the low level stuyff is the basics: interrupt enable/disable, spinlock implementations, etc
<dinkelhacker> its not in the arch crate but I wanted to instantiate it there
<heat_> crates!
<heat_> sir, we use headers
Left_Turn has quit [Ping timeout: 246 seconds]
<heat_> looking at my .d files depresses me
<sortie> I can tell a lot about a kernel from their headers
<dinkelhacker> geist: right that is what i was thinking... but seriously... it's a pain in the ass to consantly run into these problems. Makes me think if cyclic dependencies are so bad after all :D
<heat_> cat kernel/kernel/fs/flock.d | wc -l
<heat_> 33
<heat_> lord help me...
<geist> that is interesting that rust just completely disallows cyclic deps like that
<geist> seems like it'd be okay as long as both crates are always present int he build at the same time
<geist> but i guess that's just explicitly verboten?
<geist> and i guess if it is, is the problem at the cargo level, or is it actually rustc. ie, if you drove rustc directly with your own build system (which is what i'd do for low level stuff) does it resolve all the symbols
<dinkelhacker> its disallowed if the dependencies are between crates. Inside crates its ok. So modules inside crates can have cyclic dependencies. Interestingly you still can trick the compiler by not depending on a crate and just declaring the respective functions as extern inside the crate that wants to use them but would have a cyclic dep otherwise.
<geist> yah i guess it makes sense, becaus eyou're supposed to be able to compile the crate standalone, and it's functionally creating a .o file i guess
<dinkelhacker> Only downside is that then you have to unsafe-wrapp all usages of those functions.
<dinkelhacker> afaik its not cargo beeing the problem but rust itself
<dinkelhacker> anyway... it's my own fault jumping on the hype train :P
fedaykin has quit [Quit: leaving]
<heat_> this sounds like a you problem not a rust problem
<heat_> i could also effortlessly create a header circular dependency in C and it'll make the compiler shit itself
Left_Turn has joined #osdev
Turn_Left has quit [Ping timeout: 252 seconds]
<dinkelhacker> the problem is that in rust a compilation unit is a crate. So you kind of have to split things into many crates if you don't want to recompile everything all the time.
fedaykin has joined #osdev
<the_oz> crates are translation units?
<dinkelhacker> yes
Turn_Left has joined #osdev
<the_oz> I see
Left_Turn has quit [Ping timeout: 246 seconds]
Left_Turn has joined #osdev
Turn_Left has quit [Ping timeout: 248 seconds]
<geist> yah and i guess since you can't just get a header out of another lib, it has to fully see the crates you're linking against
<geist> my guess is the canonical solution for tight blobs of stuff like osdev kernels is to just compile everything all at once
<geist> and just have sub-libraries
<geist> or modules i guess is the right word
Dead_Bush_Sanpai has quit [Read error: Connection reset by peer]
Dead_Bush_Sanpai has joined #osdev
Turn_Left has joined #osdev
hwpplayer1 has joined #osdev
<kof673> i am not a good example, and i don't have a "kerneL" yet, but with ack IIRC i had problems making objects or a library, so i allow just compiling all at once (just include all needed .c files from a foo_all.c) so i support binary + link against whatever libraries, or binary + all libraries compiled at once
Left_Turn has quit [Ping timeout: 260 seconds]
<kof673> not a problem, just means build stuff has 2 sections to support each mode
<kof673> i only have one function per .c file so i kind of do that anyways :)
<kof673> as long as you know what the dependencies are, not a big deal IMO
Dead_Bush_Sanpai has quit [Read error: Connection reset by peer]
Dead_Bush_Sanpa1 has joined #osdev
levitating has joined #osdev
Dead_Bush_Sanpa1 is now known as Dead_Bush_Sanpai
Left_Turn has joined #osdev
Turn_Left has quit [Ping timeout: 260 seconds]
<kof673> "kind of do that anyways" i.e. same applies to a library, make a bunch of .o then make an archive or library from those, or just compile a library or to a single .o in one shot
<the_oz> when you do one c fiunction per file and static lib, you can elide based on that
<the_oz> for free without care
<kof673> yep, esp. with dumb/old toolchains, probably better to do separate .o if possible for that reason at least
<kof673> or "all at once" should be able to do that too, just not if you compiled multiple things to one .o possibly
<nikolar> you could also -ffunction-sections or whatever it was
<nikolar> and --gc-section for the linker
<the_oz> that's a new one for me
<nikolar> just google for correct arguments kek
<nikolar> or check the man pages
<the_oz> you got the first one right anyway
<the_oz> and they mentioned the other
<nikolar> :)
<the_oz> -ffunction-sections
<the_oz> -fdata-sections -Wl,--gc-sections
<nikolar> Ah, i missed the s for --gc-sections
<kof673> for old toolchains, i want to add cmi support. so you can do separate compilations, but preprocess everything, make one giant file IIRC, then call CMI on that, it does its reordering/inlining/eliding, then finally compile the single .c file (still preprocessed already). so i want this flexibility for that too eventually
<nikolar> So you want cat(1) :P
<kof673> :D i don't recall, but just having one giant file saves useless use of cat j/k
<kof673> maybe you can pass it multiple files, been a long time
pog has joined #osdev
hwpplayer1 has quit [Remote host closed the connection]
Left_Turn has quit [Read error: Connection reset by peer]
sly has quit [Quit: Leaving]
jedesa has joined #osdev
sly has joined #osdev
Arthuria has joined #osdev
netbsduser has quit [Ping timeout: 246 seconds]
Arthuria has quit [Ping timeout: 276 seconds]
pog has quit [Quit: byee]
pog has joined #osdev
jedesa has quit [Remote host closed the connection]
jedesa has joined #osdev
MiningMarsh has quit [Quit: ZNC 1.9.1 - https://znc.in]
jedesa has quit [Client Quit]
levitating has quit [Ping timeout: 252 seconds]
jedesa has joined #osdev
MiningMarsh has joined #osdev
vdamewood has joined #osdev
Dead_Bush_Sanpai has quit [Read error: Connection reset by peer]
Dead_Bush_Sanpai has joined #osdev