Search logs:

channel logs for 2004 - 2010 are archived at ·· can't be searched

#osdev2 = #osdev @ Libera from 23may2021 to present

#osdev @ OPN/FreeNode from 3apr2001 to 23may2021

all other channels are on OPN/FreeNode from 2004 to present

Friday, 1 September 2023

00:17:00 <geist> boo, i just noticed a pair of adjacent dead pixels in my monitor
00:18:00 <geist> physical monitor though, not ocular migrane (though i do get those from time to time)
00:19:00 <kof123> "so did someone create AsbestOS yet?" see the SICP cover. that was a name for the magical salamander lambda
00:20:00 <kof123> so whatever it is, it will be reflective surely
00:23:00 <ChavGPT> geist: my previous monitor broke by having a vertical red line
00:23:00 <ChavGPT> i googled wtf is it
00:23:00 <ChavGPT> found a guy with the same model with the line in the same spot
00:23:00 <ChavGPT> :X
00:26:00 <geist> yeah the only other kinda dead pixel i've ever had was something like that, one of the colors having problems in a vertical line
00:26:00 <geist> this one isn't too bad, it's just annoying. about 2/3 of the way from the left, slightly above center
00:26:00 <ChavGPT> oof
00:27:00 <geist> at least it's just a hard stuck to black, so i dont tend to notice it considering how much i use dark mode stuff
00:27:00 <ChavGPT> maybe it will relocate if you stare with enough anger
00:28:00 <zid> I've never owned a dead pixel before
00:28:00 <zid> do you have to pay extra for them
00:28:00 <zid> My entire fuckin monitor is dying, but the pixels are great
02:30:00 <gorgonical> the only positive trait I have as a programmer is stubbornness
02:30:00 <gorgonical> otherwise i definitely am too dumb to get this phd
02:30:00 <gorgonical> just now think i've figured out that arm tf-a fucking turns the console off willingly
02:46:00 <zid> ah so you finally found your faulty assumption
02:47:00 <zid> (That being the final step in 'wtf this makes no sense')
02:47:00 <zid> You accidentally rely on some assumption, "I'd see an error" "This file totally exists though!" etc and 30 layers later "this shit is broken as fuck"
03:33:00 <ZipCPU> gorgonical: I've got to believe anyone building their own OS must have both a 1) software ability, and a 2) stubbornness trait--otherwise they'd just use the operating systems built by others.
03:34:00 <zid> imagine using anything you wrote
03:34:00 <zid> Sounds like a terrible idea
03:35:00 <zid> I'd know where all the skeletons live in it and how unusable it is
03:35:00 <ZipCPU> I suppose that depends upon how well it is built, and how well it is verified
03:35:00 <zid> That isn't how software works
03:36:00 <zid> It's very much a "pick 2" situation
03:44:00 <gorgonical> zid: i often think of os work as like that scene from malcolm in the middle when hal replaces the light bulb
03:44:00 <gorgonical>
03:44:00 <bslsk05> ​'Malcolm in The Middle "What does it look like I'm doing?"' by MITM Clips (00:00:40)
03:44:00 <zid> yea very
03:44:00 <gorgonical> So I think I've just fixed the car now
03:45:00 <zid> OS dev is trying to maintain a very large mansion by yourself, you pick if the parlor is dusted, or the bedroom, if the lawn is mown, or the driveway de-weeded etc
03:45:00 <zid> but not all of them all of the time at the same time
03:46:00 <zid> Like, it's just a fact of all software though, it can be easy to read, or fast, but often not both, etc
03:50:00 <gorgonical> also I literally just today found dill pickle chips and all dressed chips here at my local aldi
03:50:00 <gorgonical> i have never seen all dressed chips anywhere in america and today they are at my regular grocery store
03:59:00 <Hammdist> how rapidly does a typical pll lock? on rk3328, I'm trying to configure a ppl. I set the pll parameters and then read the lock state immediately after in code and it always appears locked right away. is that right?
04:01:00 <Hammdist> the ppl appears to lock fine, but there is a crash when trying to switch to the pll as clock source
04:01:00 <Hammdist> I'm using the exact same pll parameters as linux uses, this has been checked thoroughly down to the bits and bytes
04:07:00 <Hammdist> ah wait I just encountered a run in which it didn't lock right away
04:07:00 <Hammdist> so that part seems to be explained
04:09:00 <gorgonical> My disappointment is immeasurable and I am out of ideas again
04:09:00 <gorgonical> Linux appears to be running in non-secure mode. But this doesn't explain the fucking gic accesses
06:22:00 <geist> giiiiiic
06:27:00 <kazinsal> gic gic gic
06:28:00 <kazinsal> is the G in gic soft or hard
06:28:00 <kazinsal> not to start the gif/jif argument but
06:28:00 <kazinsal> is it gick or jick
06:28:00 <Mutabah> gick to me
06:28:00 <klys> glob integrated circuit
06:28:00 <childlikempress> well usually it's soft but if you're really good you can make it hard
06:28:00 <kazinsal> I'm on team gick
06:29:00 <kazinsal> (I say, not actually being an arm guy)
06:30:00 <klys> I bought an intel macbook 2020 the other day, intending to give it away after installing ubuntu on it. then yesterday I installed ubuntu on it.
06:32:00 <klys> in other news, capable four port thunderbolt pci-e cards exist now
06:32:00 <klys> I had looked a few months back and they did not exist then.
07:26:00 <kazinsal> I love my M! air, it's a great laptop
07:26:00 <kazinsal> fantastic battery life, pretty solid expansion options
07:27:00 <kazinsal> the only time I've accidentally run it down is because I sapped the battery into a guitar DSP
07:27:00 <kazinsal> usually get about 16 hours of screen on time with it on wifi
07:37:00 <klys> I hear you can get a fancy stylus for the touchpad
07:39:00 <klys> I went to work today (thrift warehouse) and they had a thinkpad sitting there, bought it right away.
07:41:00 <klys> tho yea this mbpro has 32GB RAM, I should install more apps
07:41:00 <klys> there was a video editing program ubuntu was showcasing in the installer, forget the name
07:42:00 <klys> also I need to find out where the grub menu is stored, as grub-efi is not listed as installed
10:47:00 <x8dcc> When setting a trap gate in the IDT, the CPU always pushes an error code to the stack before calling the Service Routine?
10:48:00 <gog> no
10:48:00 <gog>
10:48:00 <bslsk05> ​ Exceptions - OSDev Wiki
10:48:00 <x8dcc> I ask because in the ISR page of the wiki it says: "If the interrupt is an exception, the CPU will push an error code onto the stack, as a doubleword."
10:49:00 <gog> that wording is misleading
10:49:00 <x8dcc> oh, so it depends on the exception? on the "Error code?" column of the table
10:49:00 <gog> yes
10:50:00 <x8dcc> I see, that's a bit inconvenient
10:50:00 <gog> it is
10:50:00 <gog> you'll need to define an ISR entry point for each exception
10:50:00 <x8dcc> Yeah, I do that with an assembly macro, but I will just make 2, one for no error code and one for exceptions with error code
10:50:00 <gog> and if the ISR is an exception without an error code what i do is i push a dummy error code to the stack
10:51:00 <gog> yeh that's the way to do it
10:51:00 <x8dcc> okay, and another question
10:52:00 <gog> ok
10:52:00 <x8dcc> so from the ISR page, if I understood correctly, in an exception with no error code, the CPU pushes the EFLAGS, then CS and then EIP?
10:52:00 <x8dcc> i.e. when the ISR is called the value immediately in the stack is the EIP?
10:56:00 <gog> yes
10:56:00 <gog> because iretd will return to cs:eip
10:57:00 <gog> so for ISRs with an error code you have to pop that from the stack
10:57:00 <gog> which is why everybody does the normalizing dummy code thing
10:57:00 <gog> so that no matter what you just do the pop and it's fine
10:58:00 <x8dcc> I see, I was looking at what IRETD does just now
11:00:00 <x8dcc> well this is very useful, I was just using interrupt gates for everything
11:39:00 <x8dcc> I added it, now I can see where I kernel panic :)
11:39:00 <x8dcc> thank you, gog
11:39:00 <gog> noicsj
13:29:00 <netbsduser> what do people think about the caching of disk fs metadata? i have a file page cache (used to good effect with 9p and FUSE) but to use it for disk filesystems will require it learn new tricks
13:30:00 <nortti> do you have a dirent cache?
13:31:00 <netbsduser> not yet; i have it implemented in principle but not in use yet
13:34:00 <netbsduser> i wonder whether it´s worthwhile to access e.g. the block bitmap, the disk inodes, etc via the file page cache of the disk. or (it will have to be because of potential overlapping pages or misaligned blocks) through synthetic files representing the block bitmap, disk inode array, etc
15:39:00 <zid> I've been bitten again, where's the flamethrower
15:55:00 <gog> hi
15:59:00 <sham1> hi
16:00:00 <zid> (I also have an awful sinus headache)
16:01:00 <gog> hi
16:01:00 <gog> i'm at work
16:01:00 <zid> I don't think I will ever stop being sick :(
16:01:00 <gog> apple pay is not cooperating
16:02:00 <gog> zid: my sinuses have only been intermittently not clear for months
16:02:00 <gog> s/not//
16:03:00 <zid> I've got tight sinuses, but the fix is gruesome
16:03:00 <zid> They just run a metal pipecleaner through them
16:04:00 <zid> shave down your skull
16:04:00 <GeDaMo> My sinuses have also been playing up recently :|
16:10:00 <zid> GeDaMo: I've got a wire brush if you're game
16:11:00 <GeDaMo> No thanks :|
16:11:00 <GeDaMo>
16:11:00 <bslsk05> ​ Migraine and Sinus Headache: How to Tell the Difference
16:12:00 <zid> I would think the fact I can't breathe through my ears and the intensely thick snot would give it away
16:12:00 <zid> do people really need a guide
16:24:00 <GeDaMo> zid: is this what bit you?
16:24:00 <bslsk05> ​ ‘A first in Paris’: city fumigates for tiger mosquitoes as tropical pests spread, bringing disease | Paris | The Guardian
16:25:00 <gog> hi
16:25:00 <zid> I wish
16:33:00 <heat> so im fucking dying
16:34:00 <heat> after all my month-long stomach problems i went and got myself gastroenteritis
16:34:00 <heat> fucking shoot me
16:34:00 <zid> same
16:34:00 <heat> seriously, put me down, life is pain
16:34:00 <zid> even better
16:34:00 <zid> after I finished with the gastro, I now have sinusitis
16:37:00 <childlikempress> rip
16:37:00 <heat> long-term exposure to #osdev has us dying
16:37:00 <heat> asbestos of IRC
16:45:00 <heat> netbsduser: btw re caching metadata, that's pretty common
16:45:00 <heat> as in "pretty standard"
16:45:00 <heat> that's what the buffer cache does
16:46:00 <x8dcc> The cvttsd2si assembly instruction is supposed to store the integer part of a src float in the dst operand? e.g. int n = (int)fl;
16:47:00 <netbsduser> heat: of course
16:48:00 <x8dcc> I am getting a SIMD floating point exception when printing a float, and the instruction of the exception is a cvttsd2si
16:48:00 <netbsduser> my concern is with whether or not to preserve a traditional buffer cache at all or whether to impose file-based caching everywhere
16:48:00 <heat> if you consider the block device a very big file, it's already file-based
16:49:00 <childlikempress> x8dcc: is it the inexact exception
16:49:00 <heat> x8dcc: do you have SSE on?
16:49:00 <x8dcc> childlikempress: I don't understand your question
16:49:00 <x8dcc> heat: I do
16:49:00 <childlikempress> well, which floating point exception is it
16:50:00 <netbsduser> it would have to go through a special virtual file implemented by the FS driver, i think - because otherwise if a page-sized page-aligned set of blocks is mixture of metadata and data, youŕe in very deep trouble
16:50:00 <x8dcc> this only happens with multitasking, and although I am running fxsave and fxrstor, I guess I am doing something wrong
16:50:00 <heat> netbsduser: you'r not
16:50:00 <heat> fwiw: linux does not handle consistency at that level
16:51:00 <netbsduser> heat: consider this case: block size 512, blocks 1, 2, 3, 4 are metadata, 5, 6, 7 8 are data of a file
16:51:00 <x8dcc> childlikempress: are you asking for the error code in MXCSR or...?
16:52:00 <netbsduser> now in both cases each of the collections of 4 blocks are cached in different files (the metadata accessed through the disk device´s file page cache, the file data through the file´s cache)
16:52:00 <heat> right, so you do per-block subpage tracking
16:53:00 <heat> and now you're not writing back any of that, you didn't even need to read it
16:54:00 <netbsduser> that´s exactly what you must do at some level - but that´s why i proposed to use a special file for the disk-level caching
16:54:00 <netbsduser> caches of regular files are already fine since they read in and write back their blocks as required
16:55:00 <netbsduser> but caches directly of disks are quite another matter altogether
18:30:00 <gorgonical> Man I am so confused
18:31:00 <gorgonical> I have confirmed: Kitten does run in secure mode, Linux doesn't, u-boot runs in EL2 (expected), non-secure Linux can *read* what looks like the secure version of GICD_CTLR, can't write some bits marked res0, but can write others
18:38:00 <gorgonical>
18:38:00 <bslsk05> ​ Pastie
18:38:00 <gorgonical> All of the pain and suffering is just in this one function
18:54:00 <zid> have you considered
18:54:00 <zid> becoming a trappist monk
18:55:00 <zid> It will fix more of your problems than anything else, I feel
18:57:00 <gorgonical> I am beginning to think this is the way forward
18:58:00 <gorgonical> Honestly what's most aggravating is that this is just a knowledge thing. If I knew who to ask I could solve this problem in like five minutes
18:58:00 <gorgonical> Someone on this earth knows why this is happening and could tell me directly and simply if only I knew who they were
19:01:00 <x8dcc> I think that everytime I struggle with an error
19:01:00 <klys> perhaps, there are only a few of us here though. have you tried discord?
19:01:00 <x8dcc> e.g. right now
19:02:00 <gorgonical> klys: if you know of a discord I should go ask in I would
19:02:00 <klys> that would be the osdev discord of course
19:02:00 <gorgonical> ah
19:02:00 <gorgonical> Is it really more active than the irc?
19:02:00 <klys> there are more projects listed there than I hear about here
19:03:00 <gorgonical> hmm
19:03:00 <gorgonical> I will give that a try then
19:03:00 <x8dcc> I left because I asked something and they started trying to argue about what was better
19:03:00 <x8dcc> I didn't argue and they told me I had no idea or something
19:04:00 <ChavGPT> maybe they said you have no idea because you did not argue
19:04:00 <x8dcc> I asked about something I didn't understand, and then 2 people started arguing over if it was accurate or not in the wiki
19:04:00 <ChavGPT> i don't see anything wrong with it
19:04:00 <x8dcc> I obviously didn't give my opinion because I didn't understand anything
19:05:00 <x8dcc> after that they started blaming me for not understanding it, for some reason
19:05:00 <ChavGPT> mate, if someone linked a page, i had a look and it was wrong in my assesment
19:05:00 <ChavGPT> i would totally argue
19:05:00 <x8dcc> I get that, and I don't care about that
19:06:00 <x8dcc> it's just that the 2 times I asked something there, they just told me how stupid I am instead of answering anything
19:06:00 <ChavGPT> is that an osdev tiktok
19:06:00 <x8dcc> It's just my experience, but they were way more toxic to me than here (except the admins which are the ones who ended up answering something related)
19:07:00 <x8dcc> ChavGPT: ...what?
19:17:00 <heat> microkernel vs monolithic
19:17:00 <heat> ??
19:17:00 <heat> vim vs emacs guys
19:27:00 <childlikempress> I heard linux torvald said microkernels are good
19:28:00 <ChavGPT> which why is FREAKS is an exokernel
20:21:00 <netbsduser> linux is so goofy
20:21:00 <netbsduser> they call a vfs_t or struct mount a ¨superblock¨
20:45:00 <gog> she's a superblock, superblock
20:45:00 <gog> she's superblocky yeah
20:45:00 <gog> (filesystems sing, whoaa oh oh oh oh)
20:59:00 <kazinsal> gog can you walk over to CCP hf's headquarters and tell them to fix the eve online servers thanks in advance
21:05:00 <gog> on it
21:05:00 <gog> anything else you want while i'm out
21:13:00 <kazinsal> coke zero would be great thanks
21:35:00 <heat> gog: hug
21:35:00 <ChavGPT> coke would be great
21:49:00 <gog> kazinsal: i only found pepsi max
21:49:00 <gog> ChavGPT: i only found amphetamine
21:50:00 * gog hug heat
21:50:00 <zid> -10 for the pepsi max, +4 for the meth
21:50:00 <zid> your finding things score is currently: -6
22:02:00 <ChavGPT> gog: at this point i'm down to snort anything
22:22:00 <kazinsal> condensing white monster zero down into a solid to ram up my nostrils
22:31:00 * heat hug gog
22:33:00 <ChavGPT> ey heat
22:33:00 <heat> ey
22:33:00 <ChavGPT> wanna patch a stupid problem in linux
22:33:00 <heat> no
22:33:00 <heat> what is it
22:33:00 <ChavGPT> what i already complained baout -- the auxv handling code
22:34:00 <ChavGPT> open kernel/sys.c and text serach for it
22:34:00 <ChavGPT> wtf locking, code duplication
22:34:00 <ChavGPT> and memory waste
22:35:00 <ChavGPT> that's some webdev writing c
22:49:00 <ChavGPT> * This needs some heavy checking ...
22:49:00 <ChavGPT> * I just haven't the stomach for it. I also don't fully
22:49:00 <ChavGPT> * understand sessions/pgrp etc. Let somebody who does explain it.
22:49:00 <ChavGPT> *
22:49:00 <ChavGPT> * OK, I think I have the protection semantics right.... this is really
22:49:00 <ChavGPT> * only important on a multi-user system anyway, to make sure one user
22:49:00 <ChavGPT> * can't send a signal to a process owned by another. -TYT, 12/12/91
22:49:00 <ChavGPT> setpgid
22:51:00 <heat> sys.c vibes
22:52:00 <heat>  /* All paths lead to here, thus we are safe. -DaveM */
22:52:00 <heat> all paths except kissing a girl
22:53:00 <ChavGPT> dawg that file is so bad
22:54:00 <ChavGPT> getresuid:
22:54:00 <ChavGPT> retval = put_user(ruid, ruidp);
22:54:00 <ChavGPT> if (!retval) {
22:54:00 <ChavGPT> return put_user(suid, suidp);
22:54:00 <ChavGPT> if (!retval)
22:54:00 <ChavGPT> retval = put_user(euid, euidp);
22:54:00 <ChavGPT> }
22:54:00 <ChavGPT> return retval;
22:54:00 <ChavGPT> aight
22:54:00 <ChavGPT> getresgid:
22:55:00 <ChavGPT> retval = put_user(rgid, rgidp);
22:55:00 <ChavGPT> if (!retval) {
22:55:00 <ChavGPT> if (!retval)
22:55:00 <ChavGPT> retval = put_user(egid, egidp);
22:55:00 <ChavGPT> retval = put_user(sgid, sgidp);
22:55:00 <ChavGPT> }
22:55:00 <ChavGPT> return retval;
22:55:00 <ChavGPT> i have some ideas of throught process on htis one
22:55:00 <ChavGPT> dude hits blunt
22:55:00 <ChavGPT> - you know what would be funny?
22:55:00 <ChavGPT> - what dave
22:55:00 <ChavGPT> - spurious differnces
22:56:00 <ChavGPT> copy-paste code, but make sure to make immaterial changes so that it does not match up with the original
22:56:00 <ChavGPT> - you are a genius dave
22:56:00 <ChavGPT> - stfu and commit
23:05:00 <geist> eh? what are you complaining about?
23:06:00 <ChavGPT> you want my real gripe with the file
23:08:00 <netbsduser> ChavGPT: frightful
23:09:00 <geist> look, lets try to be positive here and not just paste code from other projects and point at it
23:09:00 <geist> that's not what this channel is about
23:09:00 <ChavGPT> well i tried to engage heat in some real-world open source contribution
23:09:00 <ChavGPT> it did degrade to just shitting on linux though
23:09:00 <geist> we're here to help each other with our own projects, help each other learn concepts, etc
23:10:00 <geist> shitting on real world stuff is fun but it degrades from the quality here. there's plenty of places on the internet to shit on other projects
23:10:00 <geist> and i'd rather keep this channel a bit above that, a bastion of positive vibes re:osdev
23:10:00 <ChavGPT> you don't mean the discord, do you?
23:10:00 <geist> i dont mean the discord
23:10:00 <ChavGPT> anyhow fine with me, i got a spot to crap on software
23:10:00 <geist> woot
23:10:00 <ChavGPT> it even has an individual which does it more than me
23:10:00 <ChavGPT> :X
23:11:00 <ChavGPT> (s/which/who ?)
23:11:00 <heat> linus torvalds
23:11:00 <ChavGPT> no
23:11:00 <geist> yeah i just find that it degrades from the quality, turns things into a bad reality tv show. just no calorie fun, but no content
23:11:00 <ChavGPT> i have to ask tho
23:11:00 <ChavGPT> what's your ake on all the "can i pet you" traffic
23:12:00 <geist> it's cute, but short and positive
23:12:00 <ChavGPT> arguably majority of what's goingo n here is offtopic
23:12:00 <geist> i wouldn't say that
23:12:00 <kazinsal> it's community
23:12:00 <geist> being friendly and saying hi and whatnot is fine, even if it's cute stuff
23:12:00 <geist> it's just *on topic* things like os devleopment i'd like to keep fairly high quality
23:12:00 <kazinsal> it's silly, but it's still community
23:12:00 <geist> ie, not shitting on other designs, or each others stuff
23:13:00 <geist> exactly
23:13:00 <kazinsal> it's not like this is the domain of technical writing or academic publication
23:13:00 <kazinsal> osdevers can have little a silliness, as a treat
23:13:00 <geist> yah it's a rolling community of people htat come and go over the years, but we know each other and that's nice
23:14:00 <geist> positive silliness may be offtopic but it's more than anything else positive, and that tends to draw more people in
23:14:00 <ChavGPT> aight
23:15:00 <kazinsal> ayep
23:15:00 <geist> and heh every time kazinsal shows up i look across the room at the VAX
23:16:00 <geist> and start thinking about firing it up again
23:16:00 <kazinsal> lol
23:16:00 <kazinsal> I reeeeally need to get some free time and figure out what caps in mine went pop
23:16:00 <geist> like it's literally right there, sitting on the floor against the wall
23:16:00 <heat> VAX VAX VAX VAX V AX VAX VAX
23:16:00 <geist> yah last i fiddled with it it stopped reading the scsi2sd interface for some reason, but still talked to a real scsi disk fine
23:16:00 <geist> anyway, gotta go, bbiab
23:16:00 <ChavGPT> you mean under netbsd?
23:17:00 <ChavGPT> or your own kernel
23:17:00 <kazinsal> mine won't autoboot off the scsi2sd but if you manually do "boot rk0:" it goes fine
23:19:00 <heat> i dont think lk supports the VAX yet
23:20:00 <heat> ... or does it
23:20:00 <heat> haha
23:20:00 <bslsk05> ​ GitHub - littlekernel/lk at vax
23:23:00 <kazinsal> dammit. can't believe we've got a vax code gap
23:23:00 <kazinsal> time for me to write a router for a vax
23:25:00 <netbsduser> porting my kernel to vax might be a fun endeavour
23:25:00 <netbsduser> i have enjoyed m68k
23:25:00 <geist> yeah i need to finish getting that rolled back into mainline
23:26:00 <geist> fun vax code:
23:26:00 <bslsk05> ​ lk/arch/vax/asm.S at vax · littlekernel/lk · GitHub
23:26:00 <netbsduser> but m68k - even the 68030 with its funny mmu - is nothing compared to the joy of having linear page tables with 512-byte page size where the user page tables are pageable pages mapped in the kernel space
23:26:00 <kazinsal> geist: dang, that's clever
23:28:00 <geist> yeah took me a bit of grokking. the svpctx and ldpctx have a complicated interaction with simultaneously saving context and switching the active stack and whatnot
23:28:00 <heat> the joy""
23:28:00 <heat> ""joy""
23:29:00 <geist> netbsduser: yeah that was the next thing i was starting to write, the paging code
23:29:00 <geist> i think i wanted to fiish that up before rolling it back into mainline
23:30:00 <geist> okay, really afk for a bit. might piddle with this this evening!
23:30:00 <netbsduser> geist: i should be excited to see it, i think it was littlekernel where i learnt of the existnece of qemu virt m68k which i have had a lot of fun with
23:30:00 <netbsduser> anyway goodnight and enjoy
23:42:00 <ChavGPT> lol
23:42:00 <bslsk05> ​ [PATCH] Update security bugs policy in Documentation/SecurityBugs - Linus Turdvals