channel logs for 2004 - 2010 are archived at http://tunes.org/~nef/logs/old/ ·· 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
http://bespin.org/~qz/search/?view=1&c=osdev2&y=24&m=7&d=9
01:40:00 * geist yawns
01:42:00 <nikolapdp> ello
01:53:00 <geist> hola
01:54:00 <nikolapdp> how's it going
01:56:00 <geist> not too bad. kinda hot here but not intolerable
01:57:00 <geist> just went to the store, it's cooling off this evening
01:57:00 <geist> ponding what i'm going to do
01:58:00 <nikolapdp> fire up the pdp :P
01:59:00 <geist> hah no, but honestly nothing is as hot as my main gaming machine
01:59:00 <geist> though the vaxserver 3800 pulls a solid 380W
02:00:00 <geist> but i honestly dont run that that much since it has irreplacable hard disks
02:01:00 <nikolapdp> can't you do some hdd emulation
02:01:00 <nikolapdp> and run it more like that
02:03:00 <geist> well so. the fun thing is this particular machine does not use SCSI, but a DEC only predecessor called DSSI
02:03:00 <geist> https://en.wikipedia.org/wiki/Digital_Storage_Systems_Interconnect
02:03:00 <geist> so the two drives (dual 381MB) are sitting on that bus, which looks a lot like scsi but isn't
02:03:00 <geist> but it's not popular enough that anyone has built an emulator for it. dunno if it's documented enough
02:04:00 <nikolapdp> heh
02:04:00 <geist> oh actually it was lated, 1988. surprising
02:04:00 <nikolapdp> well you could try documenting it :P
02:04:00 <nikolapdp> also didn't you say your pdp used like 80w of power at most
02:04:00 <nikolapdp> that's not much
02:04:00 <geist> the trick was, and it's kinda neat, is it's via this bus that you'd chain multiple vax boxes together to form a cluster
02:04:00 <geist> so basically inside the box is a controller, two disks chained tobegther, and then it goes out to a SCSI looking connector that you run over to another box
02:05:00 <geist> so i think the idea is with DSSI that anything can be a master node or something
02:05:00 <geist> i think you can kinda do the same thing with SCSI
02:06:00 <nikolapdp> can you?
02:07:00 <geist> you can certainly communicate between two machines with SCSI with the proper controllers and whatnot, but i dont know if scsi has the capability to have more than one master initiator node
02:07:00 <nikolapdp> interesitng
02:08:00 <geist> so one of them may need to act like a slave device
02:08:00 <geist> looks like the DSSI stuff has some sort of notion of a distributed bus grant thing
02:08:00 <geist> so i thik that's the idea why they were using it as a generic bus to join multiple nodes and share the storage between them
02:08:00 <geist> presumably any of the main nodes can directly talk to any disk, provided they have the go ahead from the other nodes
02:09:00 <geist> the vms clustering stuff had a distributed locking scheme so i think myltiple nodes can access the same FS
02:09:00 <geist> the 3800 i have actually was clearly part of a node, since it has a little sticker on it that says 'CPU A'
02:10:00 <geist> s/node/cluster
02:12:00 <geist> https://gunkies.org/wiki/Digital_Storage_Systems_Interconnect ah looks like there is a protocol specification. would be interesting to see how close it was to scsi
02:12:00 <bslsk05> gunkies.org: Digital Storage Systems Interconnect - Computer History Wiki
02:12:00 <geist> looks like there was talk to later have SCSI 2 DSSI adaptors and wahtnot. that'd be helpful to get ahold of honestly
02:12:00 <geist> since scsi is easy to emulate
12:24:00 <Matt|home> hm. this is a little frustrating
12:25:00 <Matt|home> is there some (preferably) open sourced big code base that's professional/high standard enough that i can take a look at?
12:26:00 <nikolar> What for Matt|home
12:27:00 <Matt|home> im having a really, really, -really- hard time finding good resources on C++, so im really hoping that i'll be able to pick up the language by looking at other code. e.g. im having trouble figuring out why my simple struct code won't compile now. but i can't read a codebase that's using lazy or awful coding practices, i won't know it's bad til it's too late
12:27:00 <Matt|home> im looking at something called the windows internals book right now
12:27:00 <Matt|home> but that's not like a github repo or anything
12:28:00 <nikolar> Isn't that book from like 1995
12:28:00 <Matt|home> the newest version is 7th edition which came out in 2017 i think? idk. website has 6th edition sample chapter
12:30:00 <mjg> kind of late to learn c++
12:30:00 <mjg> rust it
12:31:00 <Matt|home> ...
12:31:00 <Matt|home> no chance.
12:31:00 <Matt|home> not yet anyway
12:35:00 <nikolar> mjg is that sarcasm
12:36:00 <netbsduser> Matt|home: an OS codebase or a C++ codebase?
12:37:00 <netbsduser> windows kernel is almost all C in any case
12:37:00 <Matt|home> C++ codebase specifically
12:38:00 <Matt|home> just one with a relatively high standard
12:38:00 <Matt|home> not like, nintendo's crunch deadline in the 90s: "get it done with 2kb or we slaughter your whole family" -_-
13:39:00 <kof673> professional == gets paid. has nothing to do with quality > engaged in a specified activity as one's main paid occupation rather than as a pastime.
13:39:00 <kof673> this is supposedly the "journalism" definition too. "paid" also can vary from "did work"
13:40:00 <kof673> so yes, those are pros :D > "get it done with 2kb or we slaughter your whole family"
13:49:00 <kof673> the secret to "law" is never say which definition you mean :D
14:19:00 <netbsduser> https://man.openbsd.org/smr_call
14:19:00 <netbsduser> openbsd has an rcu-alike now too
14:20:00 <netbsduser> and has had it almost as long as freebsd had epoch, even since 2019
14:26:00 <netbsduser> https://github.com/openbsd/src/blob/master/sys/kern/kern_smr.c the implementation
14:26:00 <bslsk05> github.com: src/sys/kern/kern_smr.c at master · openbsd/src · GitHub
14:50:00 <heat> netbsduser, fwiw "almost all C" is probably a bit of an overstatement
14:50:00 <heat> they had to add tidbits of C++ support into windows dtrace
14:50:00 <nikolapdp> that means nothing really
14:51:00 <nikolapdp> it could be 1% c++ or 50%
14:51:00 <nikolapdp> you can't know
14:51:00 <heat> nothing means anything, just saying that "almost all" is probably an overstatement
14:51:00 <heat> knowing microsoft
14:52:00 <heat> and knowing what they factually did for a tool that's supposed to help trace core kernel and system bits
14:53:00 <nikolapdp> you'd need to add c++ support if you have one c++ file in the kernel
14:53:00 <nikolapdp> that was my point
14:53:00 <nikolapdp> that tells you nothing
14:54:00 <heat> you do have a point but if it's a random system corner they can't give two shits about, they would possibly ignore it
14:55:00 <nikolapdp> my whole point is that we have no clue
14:55:00 <nikolapdp> we can just guess
14:55:00 <heat> in any case none of this matters because onyx is the best
14:55:00 <heat> or, if you're weird, linux is the best
14:55:00 <nikolapdp> unless someone's work with windows code and can say one way or the other
14:55:00 <nikolapdp> KERNAL
14:56:00 <heat> this is where nt's really weird arch would probably come into play
14:56:00 <nikolapdp> what do you mean by "this"
14:57:00 <heat> like, the win32k subsystem is just a separate driver, could be in fortan for all they care
14:57:00 <heat> no tight integration with the really core stuff is required
14:57:00 <nikolapdp> yeah guess so
14:58:00 * Ermine installs arch
15:00:00 * Matt|home grabs his keyboard and smashes it into his head
15:01:00 <Ermine> Matt|home: don't
15:01:00 * Matt|home grabs Ermine's shirt and screams into it
15:01:00 <Ermine> Matt|home: are u ok
15:02:00 <Matt|home> mh.
15:02:00 <Matt|home> u.
15:02:00 <nikolapdp> Ermine he's learning c++
15:02:00 <nikolapdp> it's only natural
15:03:00 <Ermine> oh
15:04:00 <kof673> i was not discouraging the mythical search for quality, "like from like" just forked tongues abound "it is everywhere, it is everything" :D
15:42:00 <Matt|home> wow. i feel like i just woke up from the matrix. the really mediocre matrix with a lot of glitches and where everything has kind of an annoying sepia tone filter that occasionally flickers
15:49:00 <kof673> you are asking the impossible...that quality outweighs money :D
15:49:00 <kof673> it might survive for a short while, in isolated pockets :D
15:51:00 <kof673> it would have to be some code that was sheltered and brought up in seclusion :D
16:17:00 <heat> bluepilled c developer vs woke redpilled c++ developer
16:17:00 <heat> "the language is bad i just use a subset" fucking based
16:18:00 <nikolapdp> heat and his delusions
16:19:00 <Ermine> isn't c++ too vast to not be used as a subset?
16:19:00 <heat> uhhhhh
16:19:00 <nikolapdp> Ermine basically
16:19:00 <heat> i'm sure you can devise a project that uses every single c++ feature
16:19:00 <nikolapdp> why would you though
16:19:00 <heat> idk
16:19:00 <nikolapdp> lel
16:20:00 <Ermine> there are schools of thoughts on how c++ should be used I think
16:21:00 <Ermine> I.e. there are people that think that c++ should be made on the basis of templates iirc
16:21:00 <heat> i think we should use c++ as a weapon of war against our enemies
16:21:00 <Ermine> That's what my friend which listens to various lectures says
16:22:00 <nikolar> Luckily my uni didn't do that
16:22:00 <nikolar> But we didn't do that much of c++ either
16:22:00 <GeDaMo> The use of C++ probably contravenes arm limitation treaties :|
16:24:00 <heat> Ermine, you definitely have constexprpilled people
16:24:00 <Ermine> that friend of mine doesn't use constexprs
16:24:00 <heat> then the OOP guys, the ranges guys, the C guys, the functional programming guys
16:25:00 <heat> the operator overloading fans, the operator overloading haters, the exception fans, the exception haters
16:25:00 <Ermine> If I was studying at CS faculty I'd definitely have functional programming guys
16:25:00 <nikolar> heat and all combinations of those
16:25:00 <heat> absolutely
16:26:00 <Ermine> People I talk with are mostly C and sometimes C++98 people, but it's due to how my faculty teaches programming
16:27:00 <heat> that's terrible but par for the course in uni
16:28:00 <Ermine> And, actually, most of them didn't go to IT
16:29:00 <Ermine> When your first language is C, you won't have much motivation to continue
16:29:00 <netbsduser> heat: a slight exaggeration i think it is fair to say
16:29:00 <Matt|home> pffffffffftadfxxxxxx.......... anyone here work/worked in an office job, preferably for some computer stuff?
16:30:00 <netbsduser> an NT kernel developer reported to the discord that there are some C++ components
16:30:00 <Ermine> I have leaked XP sources, should I check?
16:30:00 <heat> no
16:30:00 <netbsduser> namely the store manager, which despite its name does not manage a supermarket, but rather "optimises memory use" or something to that effect
16:30:00 <heat> see, saved you some legal troubles
16:30:00 <heat> netbsduser, the superfetch thing?
16:31:00 <Ermine> as in "can't send patchen to reactos?"
16:31:00 <netbsduser> heatd: its responsibilities apparently include memory compression and page deduplication, i don't know what else, i speculate it might try to do page combining?
16:31:00 <Matt|home> Ermine - hey you taught coding right?
16:31:00 <heat> no d here, just heat
16:31:00 <Ermine> Matt|home: no
16:31:00 <heat> not daemonized
16:31:00 <Matt|home> ;_; did i
16:31:00 <netbsduser> Ermine: funny you mention this
16:32:00 <Matt|home> <Ermine> People I talk with are mostly C and sometimes C++98 people, but it's due to how my faculty teaches programming <-- oh sorry, thought you were a teacher
16:32:00 <Matt|home> tired
16:32:00 <Ermine> happens
16:32:00 <heat> netbsduser, *shrug*. btw do you know anything about how windows does working sets and page replacement? it's a little weird coming from UNIX
16:32:00 <Ermine> get some rest
16:32:00 <Matt|home> can't
16:33:00 <netbsduser> heat: yes, i know a decent amount about it. there is basically two levels of replacement
16:33:00 <Matt|home> what's an average amount of time for someone to learn a new coding language.. either presuming no/a little/a lot of previous experience..
16:33:00 <netbsduser> process-locally (used to be by FIFO, now it periodically scans pages and tries to pick less recently used ones) and globally (the standby page list)
16:33:00 <Matt|home> as vague as that question is.. i don't care how vague the answers are, i just need something for my confirmation bias
16:34:00 <Ermine> Btw some brave soul tried to build these XP sources. Turns out there are only few missing components, which can be taken from actual XP
16:34:00 <netbsduser> processes can grow until there isn't much memory left, if they are frequently faulting, and a daemon periodically goes over processes and trims their pages if they are not faulting much
16:35:00 <heat> yeah but their working set is severely limited isn't it?
16:35:00 <netbsduser> nice summary at https://demandtech.com/wp-content/uploads/resources/library/WinMemMgmt.pdf
16:35:00 <heat> oh cool!
16:36:00 <netbsduser> the working set can grow very large but the overall "goal" is to have each process' working set be sized such that the process only page faults occasionally, while leaving a reasonable portion of memory to pages locally evicted (and thus globally eligible for replacement)
16:37:00 <netbsduser> what is not present, but which was in openvms, is a mechanism for excluding whole processes from the balance set, the set of working sets permitted to be resident in memory, they do process swap but only opportunistically if a process is sleeping for a long time
16:38:00 <Matt|home> y'know what, maybe today's just a bad day to code anything. yeah. today's a bad day for computer work, im tired and depressed, i can put this off for a little
16:39:00 <Ermine> Oh gosh, setuptools people, can't you stop releasing new versions for five minutes?
16:41:00 <heat> package maintainer moment
16:43:00 <Ermine> and pretty-much on-topic content on #osdev
16:44:00 <heat> package maintainership is unfortunately part of the job
16:45:00 <heat> anyway i started my summer break today
16:45:00 <heat> more or less 2 months of free time for ONYX and grass touching
16:47:00 <mjg> gonna grind out that max level in WoW
16:53:00 <heat> mjg, enjoyen
16:53:00 <heat> 0xffffffff811122a1 <+49>: mov %gs:0x50,%eax
16:53:00 <heat> 0xffffffff811122a9 <+57>: mov %eax,%eax
16:53:00 <mjg> wut.dat
16:54:00 <heat> i don't know why it's doing this
16:54:00 <heat> it might be force-zeroing the high bits cuz it doesnt understand the inline asm?
16:54:00 <Ermine> Wasn't mov %eax,%eax thing discussed there some time ago?
16:54:00 <heat> no, that was xchg
16:55:00 <mjg> perhpas you are rolling with shite inline asm
16:55:00 <mjg> gcc has some loller for gs usage
16:56:00 <mjg> i don't remember the keyword
16:57:00 <mjg> __seg_gs
16:57:00 <heat> don't think so
16:57:00 <heat> i don't see this pattern anywhere else
16:57:00 <mjg> look mofer try massaging it with _s_seg_gs
16:58:00 <mjg> maybe it will help maybe it wont
16:58:00 <heat> no
16:58:00 <heat> i literally have fully handrolled pcpu vars already
16:59:00 <heat> Ermine, OH i have a bug repro for the tab problem
17:00:00 <heat> alt+tab+tab (two tabs required!)
17:00:00 <Ermine> heat: in plasma?
17:00:00 <heat> yeah
17:04:00 <nikolapdp> pcpu vars?
17:10:00 <heat> per-cpu variables
17:10:00 <nikolapdp> ah right
17:19:00 <heat> Ermine, https://www.reddit.com/r/kde/comments/1drrdf7/kde_alttab_leaks_tab_keypress_to_the_window_below/
17:19:00 <heat> found it
17:19:00 <bslsk05> www.reddit.com <no title>
17:20:00 <heat> finally fixed
17:21:00 <heat> fucking hell that was annoying
17:35:00 <Ermine> oh, good
17:35:00 <Ermine> it's reported bug
17:39:00 <nikolapdp> heat you on plasma
17:49:00 <heat> yes
17:54:00 <Ermine> nikolapdp: what did you expect
17:59:00 <nikolapdp> Ermine, honestly, no clue
18:00:00 <heat> DO I LOOK LIKE A GNOME USER TO YOU
18:00:00 <nikolapdp> nah
18:00:00 <nikolapdp> there are more options than gnome and kde heat
18:00:00 <nikolapdp> erm, plasma
18:01:00 <heat> i'm not an i3 guy
18:01:00 <nikolapdp> ok more than 3 options
18:04:00 <Matt|home> they have to be doing it on purpose.. they have to be
18:04:00 <Matt|home> they _have_ to be
18:04:00 <Ermine> tiling wms are useful actually
18:04:00 <Matt|home> im asking a question which should have a simple answer and im getting an extremely technically complex answer
18:04:00 <Ermine> Alt-tab doesn't scale
18:04:00 <heat> pessimal
18:05:00 <nikolapdp> Ermine indeed
18:06:00 <nikolapdp> Matt|home: what are you talking about
18:06:00 <Ermine> ngl I always have Plasma as a backup
18:21:00 <mjg> i3 is life
18:23:00 <kof673> i found this the other day https://gitlab.freedesktop.org/libevdev/evtest
18:23:00 <kof673> going back to handwriting (some day lol)
18:23:00 <bslsk05> gitlab.freedesktop.org: libevdev / evtest · GitLab
18:29:00 <nikolapdp> neato
18:34:00 <kof673> it doesn't do anything, but i saw elsewhere implying wacom tablet has kernel support, so think it will show up there, without needing X etc.
18:34:00 <kof673> so you can parse all the "events" and do whatever...exercise left to the reader :D
18:43:00 <mjg> yo https://www.youtube.com/watch?v=DG7AHQhxBKY
18:43:00 <bslsk05> 'Obscure OSes You've NEVER Heard Of' by Kalos Likes Computers (00:29:46)
18:44:00 <mjg> toaruos mentioned at 20-ish
18:44:00 <heat> 1) freebsd
18:44:00 <nikolapdp> wow
18:44:00 <nikolapdp> 2) onyx
18:45:00 <mjg> very positive
18:45:00 <Ermine> really?
18:46:00 <Ermine> heat: you said you're going to port drm didn't you?
18:46:00 <heat> yes
18:47:00 <nikolapdp> how's that going
18:48:00 <mjg> so the video is pretty lame overall
18:48:00 <mjg> no menuetos and other real f- weirdos
18:50:00 <GeDaMo> You're more likely to have heard of the /real/ weirdos :|
18:50:00 <Ermine> Also, no Sortix
18:51:00 <mjg> GeDaMo: the youtube audience?
18:55:00 <heat> nikolapdp, big hurdle was figuring out how to incorporate the linux code when it comes to APIs
18:55:00 <heat> i had a fun example: copy_from_user
18:56:00 <heat> mine has the same name, different semantics
18:56:00 <heat> i fixed their weird semantics and i'll have to pay for it
18:56:00 <mjg> you mean the return value?
18:56:00 <heat> ye
18:57:00 * mjg says lul
18:57:00 <nikolapdp> heat well if you aren't going to match semantics, it's probably a good idea to avoid having matching names
18:57:00 <nikolapdp> so you're porting the actualy linux drm to onyx
18:58:00 <zid> ur mum has drm
18:58:00 <mjg> use klassik unix names: copyin/copyout
18:58:00 <heat> following that logic, copyin/copyout doesn't work cuz i return -EFAULT and not EFAULT
18:58:00 <heat> CopyFromUserSpace?
18:59:00 <heat> Copy<CopyType::UserToKernel>()
18:59:00 <mjg> are youa trisk of trouble when porting from bsd
18:59:00 <mjg> wait you are not gonna port from bsd are you
18:59:00 <mjg> there you go
18:59:00 <netbsduser> digital rights management
18:59:00 <heat> AKTCHUALLY
19:00:00 <heat> wifi stack maybe
19:00:00 <mjg> LOL
19:00:00 <nikolapdp> really
19:00:00 <heat> or audio stack
19:00:00 <kof673> call it project evil :D return the favor :D you know you want to :D
19:00:00 <heat> i really don't want to have anything to do with wifi, bluetooth and audio
19:00:00 <heat> signals are fucking lame
19:01:00 <nikolapdp> what do signals have to do with those
19:01:00 <netbsduser> reject signals and embrace ASTs
19:01:00 <heat> i mean physics signals, not unix signals
19:01:00 <nikolapdp> ASTs?
19:01:00 <nikolapdp> abstract syntax trees?
19:01:00 <netbsduser> nikolapdp: asynchronous system traps
19:01:00 <nikolapdp> heat: important distinction
19:02:00 <netbsduser> it was how a software interrupt mechanism was named on the VAX
19:02:00 <netbsduser> to this day the term is used to refer to internal mechanisms used in several BSDs that are involved in signal delivery among other things
19:03:00 <nikolapdp> interesting
19:08:00 * geist yawns
19:08:00 <geist> good afternoon folks. what fun things are we discussing today?
19:08:00 <geist> i heard VAX!
19:08:00 <nikolapdp> hello geist
19:08:00 <geist> yay ASTs
19:08:00 <geist> howdy
19:09:00 <heat> hi geist
19:11:00 <geist> and yeah the vax architecture has a built in 16 level software irq dispatching mechanism that's kinda neat
19:11:00 <geist> you can see the heritage in how NT still has IRQLs and whatnot
19:11:00 <geist> though it's software emulating the same feature set on x86
19:11:00 <heat> x86_64 also has IRQLs natively!
19:11:00 <heat> they're very slow because no one seriously uses them
19:12:00 <geist> sort of, but they're not that configurable, iirc they apply to ranges of the irq levels
19:12:00 <geist> irq numbers that is
19:12:00 <Ermine> there's some bsod code which has IRQL in its name
19:12:00 <heat> what happened to cr5,6,7?
19:12:00 <heat> are they the control register backrooms
19:13:00 <Ermine> I've asked this question here some time ago
19:13:00 <geist> what vax lets you do is fire an AST at say level 5 and then the cpu has a IRQL that you can raise and lower
19:13:00 <geist> as it transitions across those layers, the cpu will fire any latched irqs in priority order
19:13:00 <heat> if i were to guess, 5 6 and 7 are debug registers
19:14:00 <heat> and they literally did instruction bits = cr<N>
19:14:00 <geist> and the external irqs are also individually assignable an IRQ level, so you can configure say all external irqs at IRQL 8, so the cpu will raise itself to that level upon irq entry
19:14:00 <geist> so things like a simple bottom half or 'call this on syscall exit' is very easy to do
19:14:00 <heat> ... no actually, they're just not used. bizarre
19:15:00 <geist> yah i think only cr8 really got used by AMD
19:15:00 <heat> cr1 is also unused
19:16:00 <geist> iirc the CRs got added with 386, since they needed some place to put CR2 and CR3. iirc CR0 didn't need to exist prior to that? or maybe CR0 came along with 286 to let you set protected mode.
19:16:00 <Ermine> cr1 is reserved
19:16:00 <geist> probably the latter
19:16:00 <Ermine> and cr5,6,7 do not exist
19:17:00 <geist> CR8 is i think CR0 + REX bit too, added with x86-64
19:17:00 <Ermine> 'CR8 — Provides read and write access to the Task Priority Register (TPR)'
19:17:00 <geist> ye, which lets you set the irq priority to mask out things
19:18:00 <geist> question is if anything uses that really, aside from maybe debugging
19:18:00 <Ermine> Dumb question, but maybe APIC can be used for the same stuff?
19:19:00 <heat> hm?
19:19:00 <heat> cr8 literally maps to an APIC register
19:19:00 <Ermine> ah, so cr8 is apic basically
19:19:00 <Ermine> okay
19:19:00 <heat> mov $0, %cr8 => write(TPR, 0)
19:19:00 * Ermine is still at paging chapter
19:20:00 <heat> note that these movs don't take imm, was just an example
19:20:00 <geist> yah dunno precisey why it was added. kinda smells like maybe a MSFT ask
19:23:00 <kazinsal> the bottom half of cr0 was the msw register on the 286 iirc
19:24:00 <kazinsal> the rdmsw and wrmsw instructions were effectively msw -> ax and ax -> msw
19:24:00 <geist> aaah that's right
19:24:00 <geist> i remember this now
19:24:00 <geist> did they get rid of that instruction or did it just get renamed mov cr in 386?
19:24:00 <geist> propbalby didn't and it's yet another legacy ass instruction
19:25:00 <geist> it would hvae had to have extra bits unused to get renamed crN
19:25:00 <kazinsal> yeah I don't think it ever got removed
19:25:00 <geist> probably disabled in that list of instructions you can hard kill in a recent intel thing
19:25:00 <geist> already forgot the name.
19:25:00 <geist> a feature bit that turns off legacy stuff in ring 3
19:27:00 <heat> x86-s
19:27:00 <Ermine> Did they release any cpus with that?
19:28:00 <heat> ofc not
19:31:00 <nikolapdp> my tmux just died
19:32:00 <Ermine> contact local funeral parlor
19:34:00 <zid> screen for life
19:34:00 <nikolapdp> and killed my pdp with it :(
19:35:00 <heat> murder-suicide damn
19:35:00 <nikolapdp> indeed
19:35:00 <mjg> https://www.youtube.com/watch?v=6uSVVCmOH5w
19:35:00 <bslsk05> 'What happens if you connect Windows XP to the Internet in 2024?' by Eric Parker (00:20:35)
19:35:00 <mjg> 8(
19:38:00 <geist> nah it's not x86-s, it's a feature bit that came along 5 years or so that just disables some of the silly instructions that no one uses in ring3
19:38:00 <mjg> who uses ring3
19:40:00 <nikolapdp> how many rings do you use mjg
19:40:00 <heat> OH i know what you're talking about
19:40:00 <geist> yeah just one of those bits yo uset and the world moves on
19:40:00 <heat> https://lwn.net/Articles/705877/
19:40:00 <bslsk05> lwn.net: x86: enable User-Mode Instruction Prevention [LWN.net]
19:40:00 <heat> this!
19:40:00 <geist> ah yeah UMIP
19:41:00 <heat> obviously it's not that simple geist, some random program will use these and you will need to emulate them
19:41:00 <geist> and yep, one of the instructions is SMSR
19:41:00 <heat> it's the history of the software
19:41:00 <geist> if you have backwards compatibility!
19:41:00 <geist> if you dont, THE FUTURE IS HERE
19:41:00 <heat> geist laughs in google
19:42:00 <geist> but really look at those insdtructions, why would any user app legitimately use those?
19:42:00 <heat> did you see the thing i linked one or two days ago about linux iopl()?
19:42:00 <geist> no
19:42:00 <heat> they used the tss iopl since forever, which actually allows you to disable and enable interrupts
19:42:00 <geist> ah i see, it says soe emulation things like wine or whatnot might o it
19:42:00 <heat> obviously bad, they fixed it, who would disable irqs in userspace anyway?
19:43:00 <nikolapdp> ~:
19:43:00 <nikolapdp> ~:
19:43:00 <mjg> 8====>
19:43:00 <nikolapdp> lel
19:43:00 <mjg> i never heard of umip
19:43:00 <heat> queue some random HP bios fan software executing FUCKING BIOS CODE
19:44:00 <heat> long story short they pretend they disable interrupts and keep going
19:45:00 <geist> anyway for a new OS you'd just disable UMIP if the feature is present and move on
19:49:00 <heat> i feel like you didn't like my iopl story :(
19:50:00 <kazinsal> "Prior to Linux 5.5 iopl() allowed the thread to disable interrupts while running at a higher I/O privilege level. This will probably crash the system, and is not recommended." heh
19:52:00 <heat> https://lore.kernel.org/all/202109151423.43604.linux@zary.sk/ fallout is funnier
19:52:00 <bslsk05> lore.kernel.org: IOPL emulation breaks hpasmd (hp-health) needed by HP DL380 G4 servers - Ondrej Zary
19:54:00 <geist> ahaha
19:56:00 <Ermine> mjg: that conhoz thing has C&C server in .ru
19:59:00 <mjg> > our case at hand mmap()'s BIOS code from /dev/mem and executes that
19:59:00 <mjg> fucking briliant
19:59:00 <mjg> heat: 300/10 find heat
20:07:00 <kof673> i liked the comments about this "code" and whether it is worth making it "work" or not (paraphrase)
20:07:00 <mjg> vendor code is notoriously shite
20:09:00 <Ermine> this one is extremely shite case
20:09:00 <mjg> it is amusing af
20:09:00 <mjg> but quality-wise it is pretty standard
20:10:00 <mjg> wait till you learn about "security modules" which introduce vulnerabilities
20:11:00 <Ermine> at this moment I think it's good that I couldn't download anything useful from HP site
20:13:00 <mjg> my guess is the ywanted something minimal which sucks equally on all platforms
20:13:00 <Ermine> ?
20:13:00 <heat> yeah platform software mapping the bios and executing it isn't exactly uncommon unfortunately
20:13:00 <mjg> the presumably want the same shit on windows
20:13:00 <mjg> so the common denominator was bios
20:14:00 <heat> finally merging the file lru code woooooo
20:14:00 <heat> As Soon As CI Passes(tm)
20:18:00 <kof673> well it is closed source...fan speeds are a business secret, you can't compete if you give away fan speed algorithms
20:19:00 <kof673> what are you some kind of commie?
20:28:00 <Ermine> just write a kernal module to control fans or something
20:32:00 <kof673> it was meant as sarcasm but yes lol
20:45:00 <nikolapdp> apparently, what killed my tmux and pdp earlier was the oom killer
20:46:00 <heat> GOATED
20:46:00 <Ermine> geezer
20:46:00 <nikolapdp> i just don't know what used up all of the ram when the other processes that were killed were like zsh and sshd
20:47:00 <heat> what does the oomkiller log say?
20:47:00 <heat> feel free to paste it, i hope you don't have your passwords in your process comms
20:48:00 <heat> if you do, you deserve getting hacked
20:51:00 <nikolapdp> heat: https://paste.artixlinux.org/view/f3d457f9
20:51:00 <bslsk05> paste.artixlinux.org: Untitled - Pastebin
20:51:00 <nikolapdp> nothing useful
20:51:00 <nikolapdp> it's all in megabytes
20:51:00 <heat> you should have a process table with scores before that, no?
20:52:00 <nikolapdp> oh this is also in the dmesg
20:52:00 <nikolapdp> [3721574.450667] Purging GPU memory, 0 pages freed, 0 pages still pinned, 227 pages left available.
20:57:00 <heat> nikolapdp, can you paste from "invoked oom-killer" downwards?
20:58:00 <heat> or something similar, you'll see a stack trace right below it
21:00:00 <nikolapdp> yeah dmesg was flooded with purging gpu
21:00:00 <nikolapdp> i don't think i have the full oom killer report :(
21:00:00 <heat> your init doesn't log dmesg?
21:01:00 <nikolapdp> apparently
21:01:00 <heat> init or syslogd or whatever
21:01:00 <nikolapdp> not set up on alpine apparently
21:01:00 <Ermine> in alpine there's separate thing for kernel logs iirc
21:02:00 <nikolapdp> oh is there
21:02:00 <nikolapdp> where would that be
21:02:00 <Ermine> klogd
21:02:00 <heat> see, with systemd this wouldn't be an issue
21:02:00 <heat> it Just Works
21:02:00 <nikolapdp> funny
21:03:00 <Ermine> iirc this is configured, but I don't have any alpine vms around to check
21:04:00 <Ermine> btw journald is also some kind of event broker
21:04:00 <heat> well if you get the logs send them my way
21:04:00 <nikolapdp> also yuck, binary logs
21:05:00 <nikolapdp> sure
21:05:00 <heat> i was actually thinking about implementing oom killer earlier :)
21:05:00 <heat> but i ended up doing SCM RIGHTS instead
21:06:00 <nikolapdp> scm rights?
21:06:00 <heat> unix socket fd passing
21:06:00 <nikolapdp> ah fair
21:06:00 <nikolapdp> sounds more fun anyway
21:08:00 <heat> personally i would prefer oom killer or something vm related, but i also wanted to get something functional going. this one's for curl
21:09:00 <nikolapdp> another fun bug, i have a laptop running ubuntu at work, occasionally it will just hang
21:09:00 <nikolapdp> i have the syslog and dmesg open on the other screen
21:09:00 <nikolapdp> nothing ever shows up
21:10:00 <Ermine> heat: oh, so you've implemented it?
21:11:00 <heat> I'm On It
21:11:00 <nikolapdp> why does curl need fd passing
21:11:00 <sham1> It's nice to know that heat has now implemented SCM_RIGHTS
21:12:00 <heat> IIRC curl does some sort of (DNS?) queries in parallel and then pipes open tcp/ip sockets through a unix socket
21:13:00 <nikolapdp> weird
21:13:00 <sham1> neat
21:14:00 <heat> or at least it *can*. either way i'm getting this done
21:14:00 <sham1> Having SCM_RIGHTS is of course useful for way, way more
21:20:00 <Ermine> does qemu run dhcp for -netdev user?
21:20:00 <heat> yes
21:28:00 <Ermine> Oh, so alpine doesn't log kernel by default
21:36:00 <nikolapdp> interesting
21:59:00 <heat> SYSTEMD!
21:59:00 <heat> but yes binary logs are yucky
22:00:00 <kof673> :/
22:00:00 <kof673> code is data data is code..binary is text text is binary...it is in the eye of the beholder/convention entirely
22:00:00 <kof673> this was meant to be quoting lisp-like stuff, not chanting lol
22:01:00 <sham1> I have no problem with lisp chanting
22:07:00 <kof673> > a numerical constant. He could pick up an earlier “add” instruction, say, and multiply by it, if it had the right numeric value.
23:06:00 <dzwdz> it seems to be old news at this point, but do y'all know what happened to toaruos?
23:13:00 <kof673> i thought somewhere was a message for kuroko he was not working on c projects or similar at the time, but cannot find it. i think i recall he stressed in here months/year ago he was not exactly done, but don't quote me :D
23:15:00 <dzwdz> ah, ok
23:16:00 <dzwdz> i thought it was a bit weird to just archive it without some note about it so i checked their masto/twitter to see if there was anything there
23:16:00 <dzwdz> and i saw that they went quiet on all platforms linked on their github at around the same time so i got a bit worried
23:17:00 <kof673> Kuroko 1.4.0 Latest Aug 28, 2023 .........i mean....not that long ago....
23:19:00 <dzwdz> ...wow i forgot github had the contributions heatmap
23:19:00 <dzwdz> i was judging their activity by the little charts in the repo tab
23:20:00 <dzwdz> which made it seem like there was no activity since march
23:20:00 <dzwdz> which is basically true i guess
23:20:00 <dzwdz> and yeah, it's not that long ago, but still
23:20:00 <dzwdz> i'm probably just overthinking things
23:22:00 <geist> yeah evetually everyone runs out of steam with this stuff
23:27:00 <dzwdz> yeah, it's fine not to work on stuff obv
23:27:00 <dzwdz> i just found it odd that it was archived without an explanation and then i started overthinking :p
23:32:00 <geist> i mean maybe but dunno, haven't seen them around here in a while