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
heat has quit [Ping timeout: 256 seconds]
terminalpusher has quit [Ping timeout: 246 seconds]
<kof123> ACTION stares at PapaFrog, then stares at ancient code and http://wiki.osdev.org/Memory_Map_%28x86%29 0x00000500-0x00007BFF 30464 bytes RAM, guaranteed free 0x00007C00-0x00007DFF 512 bytes where this code is loaded 0x00007E00-0x0007FFFF 492032 bytes RAM, guaranteed free <-- "into memory from 0x10000 to 0xa0000" is that guaranteed free? i see: 0x00080000 0x0009FFFF 128 KiB EBDA (Extended BIOS Da
<kof123> Area) partially used by the EBDA 
<bslsk05> ​wiki.osdev.org: Memory Map (x86) - OSDev Wiki
antranigv has quit [Ping timeout: 245 seconds]
netbsduser has joined #osdev
<netbsduser> is anyone else here targeting the 68k series?
<kof123> some day i hope to fit into various places, not today: The multi-processor Atari Jaguar console [...] Sega Saturn console used the 68000 as a sound co-processor
<kof123> i mean, it is more, hopefully can run on limited RAM systems than anything else perhaps
<kof123> "run" used loosely
antranigv has joined #osdev
goliath has quit [Quit: SIGSEGV]
<PapaFrog> kof123: Thank you
<PapaFrog> I guess I am loading 480kB
<netbsduser> kof123: i have the benefit of mine not being memory-limited
<netbsduser> 128mib of fastram
vdamewood has joined #osdev
<kof123> well 1) write interpreter 2) ... 3) write drivers 4) write applications that actually do things. maybe will clarify. so 1) does not need any hardware things really, printf is enough lol
simpl_e has joined #osdev
lg has quit [Remote host closed the connection]
Hammdist has joined #osdev
apokryptein has quit [Quit: Leaving]
saberia has quit [Ping timeout: 256 seconds]
netbsduser has quit [Ping timeout: 244 seconds]
vdamewood has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
TkTech has quit [Ping timeout: 260 seconds]
<Hammdist> tracked down a difficult bug today. I had a "circular" queue in my code where I accidentally left off the masking/mod operation. at runtime it would overwrite code, but if I enabled assertions everything would work, probably because the critical parts of the code were moved farther from the queue backing array. likewise if I added a uart print
<Hammdist> statement here or there even with assertions disabled it would appear to work. for a time I suspected a compiler bug, but it wasn't that fortunately
stolen has joined #osdev
troseman has quit [Quit: troseman]
freakazoid332 has joined #osdev
bradd has quit [Remote host closed the connection]
saberia has joined #osdev
duderonomy has joined #osdev
bgs has joined #osdev
stolen has quit [Quit: Connection closed for inactivity]
bradd has joined #osdev
gog has quit [Ping timeout: 240 seconds]
bradd has quit [Ping timeout: 248 seconds]
bradd has joined #osdev
stolen has joined #osdev
TkTech has joined #osdev
GeDaMo has joined #osdev
orccoin has joined #osdev
MarchHare has joined #osdev
zxrom has quit [Ping timeout: 250 seconds]
zxrom has joined #osdev
<PapaFrog> kof123: The real problem I was having was crossing a 64k boundary.
<PapaFrog> For some reason, I was overwriting the status code before I saw it.
goliath has joined #osdev
alexander has quit [Quit: ZNC 1.8.2+deb3.1 - https://znc.in]
alexander has joined #osdev
[itchyjunk] has quit [Ping timeout: 246 seconds]
[itchyjunk] has joined #osdev
MarchHare has quit [Ping timeout: 246 seconds]
PapaFrog has quit [Read error: Connection reset by peer]
LostFrog has joined #osdev
stolen has quit [Quit: Connection closed for inactivity]
gog has joined #osdev
wootehfoot has joined #osdev
wootehfoot has quit [Max SendQ exceeded]
wootehfoot has joined #osdev
Jari-- has joined #osdev
netbsduser has joined #osdev
saberia has quit [Remote host closed the connection]
saberia has joined #osdev
saberia has quit [Remote host closed the connection]
heat has joined #osdev
<heat> windows kern
<sham1> no
<heat> why
<sham1> windows bad
<mjg> no
<heat> no
<mjg> windows in on millions of computrs
<heat> yes
<heat> freebsd is on no computers
<mjg> which tautologically means it does not contain crap
<heat> who's laughing now
<mjg> ask kazinsal
<heat> openbsd is on trillions of routers
<mjg> in fact it tautologically means it is a good product
<mjg> heat: that was a year ago
<mjg> heat: now it is on 1 googol
<heat> oh wow
<sham1> Oh yes, software quality is a popularity contest
<sham1> I forgot
<mjg> ask kof123
<mjg> ops
<mjg> ask kazinsal
<mjg> kof123: sorry mate :)
<kof123> no i was a sysadmin and programmer once. it is about money and marketing yes lol
<mjg> what are you now? a manager?
<sham1> eugh
<mjg> A DEVOPS?
<sham1> EUGH
<kof123> worse...hobbyist lol
<sham1> Make it stop
<sham1> Oh, that's fine
<mjg> on level of disdain you land between a webdev and a manager
<mjg> so not /worse/ in my book!
<mjg> you underselling yourself here mate
<netbsduser> windows has an interesting kernel
<netbsduser> the windows book is worth reading
<mjg> that may be true
<sham1> Oh it's interesting alright, but still, Windows bad
<mjg> but the usual caveat definitely applies: don't take claims of "good" at great value
* mjg can point at unix books claiming something is great, when it is not
<mjg> or at least impying it
<froggey> ugh.pdf is the only unix book you need
<mjg> chapter 1: not written in LISP innit
<mjg> :X
<mjg> (i promise this was the last time)
<froggey> lol
<sham1> ugh.pdf can be both "not written in LISP innit" and "it's not VMS"
saberia has joined #osdev
<kof123> mjg: that doesn't matter, what is the least pessimal position?
<kof123> i need to know the ladder here
<kof123> it would be geezer profiling to only take 3 relative positions, without any scaling of weighting
<mjg> the real zen is to go be a farmer away from all tech mate
saberia has quit [Ping timeout: 240 seconds]
<mjg> but if you engage in tech i honestly can't say what is the least bad option
<kof123> code is data data is code...farming is tech
<Ermine> gog: may I pet you
<kof123> (well in this definition, old definition tech was applying area a to area b, cross-field)
<Ermine> So openbsd has beat java on popularity scale?
<kof123> to twist around and paraphrase "network" movie, you think they don't pull out their little scales and measure egg efficiency and so forth?
saberia has joined #osdev
<gog> Ermine: yes
* Ermine pets gog
<Ermine> I was one step from petting gpg
<kof123> somewhere right now, a farmer is examining his flamegraphs
saberia has quit [Remote host closed the connection]
saberia has joined #osdev
saberia has quit [Remote host closed the connection]
SGautam has joined #osdev
<mjg> ey mofoz, who has a reasonably recent amd cpu and could cpuid for me
<heat> gog
<heat> thou ist needed
* gog prr
<gog> heat: what
<mjg> specifically i want to know if it has either enhanced REP MOVSB/STOSB or fast short REP MOV
<mjg> i know *some* do
<heat> gog, cpuid for our polska friend
<mjg> PROSZĘ BARDZO
* mjg pre-pets gog
<gog> hmm
<gog> would cat /proc/cpuinfo suffice?
<heat> yes
<mjg> DANKE
<mjg> no ERMS :A
* mjg scratches gog's belly
Mikaku has left #osdev [Leaving]
* gog pr
<gog> fwiw it's not that recent, it's a zen2
<mjg> ye i checked, 2020
<mjg> that's ok
<mjg> it is not some pre-historic crapper
<heat> clever has an fx 8350
<heat> best worst CPU ever
<Ermine> is ivy bridge prehistoric crapper? Not amd though
<mjg> yes
<mjg> ivy does erms afair
<mjg> but does not do smap
<heat> sad clac noises
<Ermine> big pain is that upgrading cpu will imply upgrading everything
<mjg> so heat
<mjg> i did a REAL WORKLOAD BENCHMARK
<mjg> and now have to wait a bunch of shit before opsting the result
terminalpusher has joined #osdev
<mjg> :[
<Ermine> What are u doing?
<mjg> make -j 192 of the kernel
saberia has joined #osdev
<mjg> one thing which pops up is fucked copy_to_user which uses hand-rolled movs
<mjg> the L man switched it to that if "fast short rep mov" is not present
<heat> make -j 192
<heat> -j 192
<heat> BR
<heat> UH
<mjg> then he patched it to that if "enhanced REP MOVSB/STOSB" is not present
<mjg> but i got a reaosnably modern cpu here which does not have it
<mjg> and it sucks terribly for big sizes without rep movsq
<mjg> so will have to patch that first
<mjg> past that, about 15% of total time is spent in the kernel
<mjg> and almost all outright contention in the vm in folios
<mjg> but i'm going to patch rep cpy_to_user and friends before i complain about it
<mjg> it may go up after they stop being a problem
<Ermine> So you are going to optimize that function
<mjg> that and friends
<heat> he's going to try but no one is merging shit
<mjg> rather pedestraian stuff but..
<heat> some very handwavy statements about someone doing something
Left_Turn has joined #osdev
saberia has quit [Remote host closed the connection]
<mjg> in fact i would just port over my routines from freebsd
<mjg> but i did that work under sponsorship by the freebsd foundation
<mjg> adding that with the copyright would be 1. funny 2. ... and unlikly to go through innit
<heat> take mine
* mjg burps
<mjg> check their current code mon. they just have a bunch of different tradeoffs there and replacing that would be a massive flamewar
<bslsk05> ​github.com: Onyx/kernel/lib/libk/arch/x86_64/memcpy_impl.S at master · heatd/Onyx · GitHub
<heat> yes i know
<mjg> adding back rep is not going to be, so at least there is that
<mjg> freakin breakage all over tho
<mjg> i just can't bench squat without running issues in something basic
<Ermine> My gemini lake has erms
<mjg> anything past 2011-ish from intel has it
<mjg> maybe 2012-ish, but in that ballpark
<Ermine> Why didn't amd do so?
<mjg> they did some itme later for osme cpus
<mjg> and it may be gogs has one with the bit but it was not enabled in bios
<heat> because bulldozer was so fast they didn't need it
<mjg> as to why this is not "just" enabled i have no idea
<heat> i think zen3 has it
* mjg burps
<mjg> anyhow i neeed to add rep usage, both erms and not, for other routines
<mjg> like memset
nestorr has joined #osdev
nestorr has quit [Client Quit]
nestorr has joined #osdev
<nestorr> It is true that on Linux, instant PANICK if there is a pagefault in kernelspace or not attached to user process context?
<Ermine> memeset
<heat> nestorr, no
<heat> it will probably just oops instead
<Ermine> what if there's page fault in nonpaged area in linux
<heat> it's always nonpaged
<heat> for the kernel stuff that is
<Ermine> so this situation is windows-specific?
<heat> yes
<heat> i dont think other kernels swap code/data
<heat> linux at least doesnt, BSD doesnt as well AFAIK
<nestorr> heat: What about the Filecache manager. Most kernels map files in the kernel space so that they can do fast read/write
Vercas has quit [Remote host closed the connection]
Vercas has joined #osdev
<heat> no
<heat> SVR4 did that, netbsd does that
<heat> afiak, no other kernel does that
<heat> you don't magically map anything
<heat> the page cache is just a collection of pages you manually map, read/write from, unmap
<heat> no mmap() magic there
<nestorr> All modern kernels do: Windows, macOS, FreeBSD
<nestorr> Noone goes and iterates over the pages manually mapping them in one at a time so he can copy data in or out of them 😂😂😂
<nestorr> They dont use mmap either, that's a unix systemcall, the kernel has ex. ZwMapViewOfSection() on the Windows, vm_map() on MacOS
<heat> what
<heat> bud you're talking about the wrong things
[itchyjunk] has quit [Read error: Connection reset by peer]
<heat> kernels do not map files in kernel space
<heat> kernels have system calls to map files in *user space*
<heat> usually you don't map anything in kernel space that requires magic, because that's tricky to make work and to make performant
<sham1> Besides, kernels don't contain magic
<heat> except netbsd and SVR4
<heat> sham1, also a fact
<heat> only ponies have magic
<nestorr> You are incorrect, the modern kernels map file views in kernelspace as part of their cache managers. Windows described at https://www.itprotoday.com/compute-engines/inside-cache-manager MacOS at https://github.com/apple/darwin-xnu/blob/main/bsd/kern/ubc_subr.c
<heat> clop clop motherfuckers
<bslsk05> ​www.itprotoday.com: Inside the Cache Manager | ITPro Today: IT News, How-Tos, Trends, Case Studies, Career Tips, More
<bslsk05> ​github.com: darwin-xnu/bsd/kern/ubc_subr.c at main · apple/darwin-xnu · GitHub
<sham1> Only ponies and userspace have magic
<heat> nestorr, im not incorrct, darwin shares netbsd's shit, and i don't care about windows
<heat> windows plays stupid tricks and is slow
<heat> linux has no tricks and is much faster
<nestorr> What kind of clown kernel doesnot map memory like its meant to 😂😂😂
<nestorr> "Sorry i cant map a file here, i am a clown kernel 🤡"
<Ermine> it news site is the most reliable source of kernel insights
<heat> i don't get if you're trolling so i'll err on the safe side
<heat> hi Ermine how are you
<Ermine> I'm fine
<Ermine> Want to build onyx, but I need to get home first
<nestorr> You either map the file or you do something stupid like this: User program requests to write data, you manually iterate over each page in the cache, map that page temporily with special trick, and copy data to or from it, then unmap it
<nestorr> Its exactly the same like mapping a file for a user except it's in the kernel space
<heat> and its suboptimal for many reasons
<heat> and its tricky for many reasons
<heat> and you don't manually iterate over each page
<heat> that's not how things work, the fastest page cache out there does not map anything
<nestorr> If its so suboptimal then Windows and MacOS would not do it
<heat> mjg, help me
<sham1> Why would you map a file (a fundamentally userspace concept) instead of a disk block
<nestorr> File is not a userspace concept
<heat> they map pages
<heat> ranges of pages
<Ermine> how are you heat?
<heat> im fine
<nestorr> They have kernel life in Windows as a File and its Section object or on MacOS as a Vnode and its VM Object. I studied them carfully
<heat> had my first good night of sleep in over a week
<sham1> Files very much are a userspace thing, an abstraction created by the kernel for the benefit of the user process
<Ermine> That's poggers heat
<heat> macOS and windows are high performance kernels and other lies you can tell yourself
<heat> Ermine, yeah it's cool
<nestorr> You dont deal with disk blocks anymore because thats a physical block cache which is outdated and has been replaced with virtual-block caching which are aligned with pages
<heat> algarve was nice but our house sucked and it was much too hot
<heat> and the bed sucked ass
<nestorr> sham1: You are incorrect, they are kernel objects both Windows and MacOS
<sham1> They are kernel objects, sure, but they aren't opaque in the kernel. They represent for example an inode in a filesystem or a handle from FUZE
<Ermine> It's rather cold where I am so I'd prefer home hotness
<heat> vilamoura was pretty nice and i instantly wanted to become a brit
<heat> but i was only there for half a day
<sham1> A file in the userland is an opaque handle to these kernel objects
<heat> Ermine, bruv it was impossible
<sham1> They're not the same thing
<heat> probably 40-something at night *inside*
wblue has joined #osdev
<Ermine> Ah, that hot
<heat> yep
<Ermine> Brutal
<nestorr> On Windows the FIle object is opaque outside of IO manager. On MacOS the Vnode is not opaque but both of them you get generic operations like "Read" "Write" "Map"
<nestorr> Obviously they must be useable by the kernel because how will the kernel load the first process executable. It has no user process yet to do it
<nestorr> You are arguing something which is not even a argument its just a fact.
<sham1> A kernel doesn't need to be the one loading the first process executable. Microkernels are a proof of that
<nestorr> heat: If not by iterating pages or mapping it how does Linux do a write to the file cache.
<sham1> A kernel need not know anything about files or filesystems
<nestorr> sham1: I dont care about microkernels, they can load up a module passed by Multiboot for all I care. They have nothing to do with the opearting systems we talking about.
<Ermine> heat: was it only angarve or the whole Portugal?
<sham1> Well the operating systems we're talking about suck, yes
<sham1> That's not exactly news
<nestorr> And what great operating system that doesnt suck are you thinking about it.
<sham1> Se4
<heat> nestorr, almost-O(1) struct page lookup + memcpy
<sham1> Self*
<heat> Ermine, what was?
<sham1> Sel4**
<nestorr> Does it have a book to learn about it like "OS X Internals" or "Windows Internals"
<Ermine> heat: was it hot only in angarve or in the whole Portugal?*
<nestorr> heat: That can not be faster than doing it the normal way with a mapping
<sham1> No it doesn't
<heat> sure it can
<heat> trivially
<sham1> Doesn't exactly need a book
<heat> Ermine, oh it was hot all around portugal but algarve is its own beast
<nestorr> With Windows Cachemanager or MacOS Unified cache the pages are already mapped in the ideal case and may even still be in TLB
<nestorr> No need to go datastructure diving
<heat> in the ideal case
<heat> Ermine, cuz its down there so it takes african/mediterranean temps like crazy
<sham1> That doesn't prevent Windows nor MacOS from sucking
<nestorr> sham1: If there is nothing to learn about it from then I cant speak about it
<sham1> Both are proprietary pieces of crap
<heat> whereas here around lisbon we also get influence from the atlantic
<nestorr> Source code is not a replacement for documentation
<heat> sham1, darwin technically isn't closed-source btw
<nestorr> heat: In the worst case you can just map them in, it's easy to do
<sham1> Darwin by itself is also useless
<nestorr> Its nomore useless than GNU+Linux by itself
<sham1> Had you said just Linux I would have agreed
<sham1> But GNU Coreutils make it useful
<sham1> "
<sham1> *insert RMS copypasta here*
<sham1> Or alternatively the stack Android uses
<heat> nestorr, best case the *mapping* is already there and everything is perfectly faulted in
<nestorr> Darwin is XNU kernel plus libc plus other corelibs plus all the standards Unix programs like ls, grep, make, ld, wc, and so on
<heat> average case the mapping isn't there and/or the page isn't there so you end up mapping pages in, touching the TLB and doing a global TLB shootdown over who-knows-how-many-threads
<heat> worst case nothing is there and it's super slow
<heat> also most files are read sequentially, no need to keep huge caches in memory
<heat> mapped
<nestorr> No need for global TLB shootdown, the cachemanager in Windows 7 and later gates accesses behind functions to check whether there needs to be tlb flush on this CPU for that map region
<nestorr> Its composed of 256kib windows of files and they are replaced by LRU
<heat> linux has a very simple logic. O(1) lookup, needs 3-4 pointer indirection, and you're there
<heat> no tricky page faults, no slow page faults, no TLB fuckery
<heat> just simple
<nestorr> Page faults are fast
<heat> and blazingly fast
<heat> haha yea sure they are
<heat> have you profiled?
<heat> anything?
<nestorr> I dont profile the kernel
<heat> you're in no position to debate this then
<nestorr> What you described is that Linux has to iterate page-by-page through its prototype pagetables for each page of a file to be accessed
<nestorr> Meanwhile the other kernels just map
<Ermine> gnu+xnu when
<nestorr> There is one already Ermine
<nestorr> Called GNU Darwin
<GeDaMo> Gnu+Xenu when? :|
<Ermine> hi GeDaMo
<nestorr> I dont know what Xenu is
<GeDaMo> HI Ermine :)
<nestorr> GeDaMo: This sounds like ridiculous cult. I dont believe in it and i never will.
<sham1> One would expect nothing less from Scientology
<heat> wdym you're not scientologists
<heat> have i been in the wrong place all along
<nestorr> Sorry but I dont want anything to do with this socalled "religion"
<Ermine> Funny company
SGautam has quit [Quit: Connection closed for inactivity]
<nestorr> I hate all cults, once my friend was seduced by one, a socalled "church" but in fact nothing but a fraud to thief money and posessions from its victims
<kof123> read the mt xinu link nestorr, it was a bsd (xinu == unix backwards)
<kof123> otoh if you are making a bsd joke about "cult" carry on
<nestorr> So I check FreebSD
<nestorr> It seems they also use the weird way for cached read and write where they iterate over the VM Object pages
<nestorr> I dont understand why they would use this when you can just do the easy thing and map views of the file like Windows, MacOS do
nestorr has quit [Quit: KIRC Client 6.0.14]
<heat> because its worse and slow
<sham1> Left
<sham1> They left
Hammdist has quit [Ping timeout: 246 seconds]
eddof13 has joined #osdev
<heat> right
<heat> they right
<Ermine> Oh, I found onyx copy_to_user
<heat> its PESSIMAL btw
<heat> i've been meaning to take advantage of my OPTIMAL memcpy_impl stuff
<heat> just needs the exception handling really
<Ermine> So far it uses assembly-written copy_to_user_internal
<heat> oh you're looking at riscv64?
<Ermine> at x86-64
<Ermine> I'm not familiar with riscv
<heat> there's no_internal there
<Jari--> I have an SSE3 optimized memcpy
<Ermine> Ahhhh
* Ermine can't read
<mcrod> hi
<Ermine> hi mcrod
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<heat> rep stosb (%rdi)
<heat> mjg in shambles
<heat> anyway why are you looking at that?
<Ermine> Do you mean c++ exceptions or cpu exceptions?
<Ermine> I looked at sendmsg
<heat> those are all cpu exceptions
<Ermine> Then I scrolled down and saw copy_to_user
<heat> page faults/GPFs really
eddof13 has joined #osdev
<heat> yeah sendmsg will use that
<heat> from_user
<Ermine> Seems like to_user is in recvfrom
<Ermine> recvmsg*
<heat> yep
<heat> recvmsg will need both actually
netbsduser has quit [Ping timeout: 255 seconds]
wootehfoot has quit [Quit: Leaving]
wootehfoot has joined #osdev
<mjg> heat: total time it takes is longer than page faults it gnerates
<mjg> heat: for the kernel build
<heat> which build?
<mjg> -j 192
<heat> ok but that's not the point
<mjg> this being slow lessens pressure on the stuff which contends in smp
netbsduser has joined #osdev
<heat> we were talking about the great operating systemzzzzzzzzzzzzz doing page cache lookups using mmap-like shit
<heat> like UBC does and windoze
<mjg> oh wait, you asked smoeone else? :d
<mjg> 17:43 < heat> mjg in shambles
<mjg> 17:43 < heat> anyway why are you looking at that?
<heat> and SVR4
<mjg> i just came back from afk
<mjg> i must have misread
<heat> oh lol
SGautam has joined #osdev
<mjg> apologies!
<mjg> (well i don't feel sorry, but it is the custom, innit)
<heat> friendliest polska
<mjg> so what is the flame
<heat> we were flaming about page caches and UBC/windows having mapped windows and page faulting
<heat> then i self-flamed my crappy copy_to/from_user
<mjg> oh no
<mjg> that ubc stuff in *netbsd* is utter shite
<mjg> they literally temp map pages as needed and tlb shootdown after
<mjg> :D
<mjg> as you can imagine it is PESSIMAL af
<sham1> The guy didn't believe that it's not good
<sham1> Just kept arguing for it because muh Windows/macos
<mjg> > 16:43 < nestorr> If its so suboptimal then Windows and MacOS would not do it
<mjg> i see
<heat> yes thats why i tagged you
<mjg> paragons of perfomarnce these two, aren't they
<heat> <mjg> windows in on millions of computrs
<heat> <mjg> which tautologically means it does not contain crap
<zid> The question is, heat, how many chips did you eat this week
<mjg> someone patched that netbsd thing but i think it is disabled by default
<mjg> cause of deadlocks vs funny users
<mjg> [that's the state from 2019, maybe someone fixed this?]
<mjg> the new me is not going to look at that though
<heat> zid, some
<mjg> but maybe heat would check for lulz
<mjg> it was guarded by ubc_direct or something
<heat> ok let me check for the lulz
<heat> 71 /* XXX disabled by default until the kinks are worked out. */
<heat> 72 bool ubc_direct = false;
<mjg> :d
<mjg> welp
<heat> the guy mentioned windows plays some tlb trickery there
<heat> which i wonder if it makes it any more acceptable
<mjg> we would know what happenes if someone with windows could profile
<heat> yeah they go play rocket league
<mjg> must be a genz
<mjg> good for them!
Hammdist has joined #osdev
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
wblue has quit [Quit: wblue]
<clever> heat: the 8350 is currently on a shelf, i'm debating using it for my nas
<heat> :(
MiningMarsh has quit [Quit: ZNC 1.8.2 - https://znc.in]
<clever> model name : AMD A6-5400K APU with Radeon(tm) HD Graphics
<clever> 8350 vs this, which is "better"
<zid> Point of an 8350 is to ln2 it and run it at 8GHz
<heat> the fx 8350 is people magazine's 2012 person of the year
wootehfoot has quit [Read error: Connection reset by peer]
MiningMarsh has joined #osdev
xenos1984 has quit [Ping timeout: 246 seconds]
xenos1984 has joined #osdev
wootehfoot has joined #osdev
xenos1984 has quit [Ping timeout: 246 seconds]
wootehfoot has quit [Quit: Leaving]
heat has quit [Remote host closed the connection]
<Ermine> So, where does copy_to_user_internal point on x86_64
<zid> they should rename that to "stab_with"
<zid> "You had better shut your mouth before I copy_to_use_internal this knife"
heat has joined #osdev
<heat> ITS GOOD TO BE ON A GOOD TRADITIONAL OPERATING SYSTEM WHERE WE DO MAP THE PAGE CACHE
<heat> AND SWAP KERNEL CODE AND DATA
<bslsk05> ​lpc.events <no title>
<zid> How many anime girls are in it?
<zid> I'm afraid it will have limited appeal here, if it doesn't have enough
xenos1984 has joined #osdev
<Ermine> Or are there two copy_to_user symbols?
wootehfoot has joined #osdev
<mjg> see this arch/x86/lib/copy_user_64.S
<Ermine> I'm about onyx, not linyx
<mjg> LOL ONYX
<mjg> but what i lolled
<mjg> heat: perhaps sorts would take your string routines?
<Ermine> LMAO LINUX
Turn_Left has joined #osdev
<zid> is that a new distro
<mjg> It is Onyx GNU/Sortix
<mjg> it's basically sortix with heat's face as a wallpaper
Left_Turn has quit [Ping timeout: 246 seconds]
MrBonkers has joined #osdev
<mjg> heat: you heard about 2q?
Arthuria has joined #osdev
<heat> Ermine: hm?
<heat> wdym 2 symbols?
<heat> mjg: maybe sortie would, i dont know
<heat> mjg: what's 2q?
<mjg> a 2 lru page replacement algo
<mjg> not that i claim it is a great idea
<mjg> i'm saying everything i had seen so far is a variation of ideas from decades ago
<mjg> whether the author knows or not
Hammdist has quit [Ping timeout: 246 seconds]
eddof13 has joined #osdev
eddof13 has quit [Client Quit]
Arthuria has quit [Ping timeout: 246 seconds]
alexander has quit [Quit: ZNC 1.8.2+deb3.1 - https://znc.in]
MrBonkers has quit [Remote host closed the connection]
alexander has joined #osdev
ss4 has joined #osdev
MrBonkers has joined #osdev
wootehfoot has quit [Ping timeout: 256 seconds]
<Ermine> heat: sorry, I missed the fact that copy_to_user which wraps _internal is also in riscv subtree
<heat> yeah np
<heat> mjg: im not exactly concerned about not having optimal page replacement, cuz i currently have none
<heat> and i have 0 experience with page replacement
ss4 has quit [Quit: Leaving]
<mjg> i'm saying that multgen in linux is particuarly novel
<mjg> as to what you do in onyx...
<zid> I have even more donner meat now, it's basically coming out of my ears at this point
<zid> I had some the other day, and then everybody today was like "we're ordering from the turkish, what do you want?"
[itchyjunk] has joined #osdev
<netbsduser> what is the "multigen lru" of linux
<netbsduser> is it just more chances instead of 2nd chance?
<Ermine> mglru
<heat> yea kinda
<bslsk05> ​lwn.net: Multi-generational LRU: the next generation [LWN.net]
<Ermine> mjg: how much work would be porting mglru?
<heat> wdym porting?
<heat> you can't port MGLRU to another kernel
<heat> like, the code
<heat> licensing issues aside it's code in deep water of linux kernal
<Ermine> okay
<netbsduser> the basic principle of having third or fourth chance instead of 2nd chance would be quite straightforward to reimplement
<netbsduser> i am just having a look to see if there is any more to it than that
<heat> its not as simple as that
<mjg> there was probably a paper written in the 80s which approximates what they did
<mjg> this is what happens when you play with this kind of stuff
<mjg> :X
<Ermine> heat: so answer is "lots of work"
<netbsduser> i did 2nd chance for a while but when i read the paper on segmented FIFO i decided to adopt that instead
<netbsduser> it does a good approximation of lru (as in real lru)
<netbsduser> wsclock i would quite like but i am sceptical about whether the tlb shootdown overhead might not make it ultimately worse
heat has quit [Ping timeout: 246 seconds]
heat has joined #osdev
<heat> Ermine: well for straight up taking their code, yeah
<heat> all this stuff is heavily entrenched in linux mm
<heat> just as fbsd stuff is entrenched in fbsd mm
<netbsduser> comparative study of freebsd v.s. netbsd v.s. dragonfly v.s. xnu is quite fun
wblue has joined #osdev
<mjg> from this list none of the systems are trying though
<mjg> i mean you can larp mid-2000 i guess
<netbsduser> mjg: some of them are very trying indeed
flom84 has joined #osdev
<mjg> liek which one
<heat> dragonflybsd is making a comeback baby!
<heat> wonder if there's any dfly dev using dfly
<heat> dfly devs vs freebsd devs on who can use their system less
<heat> and suddenly netbsd devs pop out of nowhere
<heat> surprise contestant
<mjg> dfly is used by its devs
<heat> WHAT
<mjg> however, kernel development is almost completely stalled for months
<heat> OH
<mjg> liek literally almost no changes
<heat> how many devs does it have
<bslsk05> ​dpaste.com <no title>
<mjg> you may wonder what's up with the crazy commit count for obsd
MarchHare has joined #osdev
<mjg> there is one guy spamming one-liners
<heat> ILLUMOS UBER ALLES
<mjg> solaris was already a complete system by the time oracle bought sun
<mjg> so i don't know what are they even changing11
<netbsduser> i like dragonfly bsd but it did seem to be very much a one-man band for the most part
<heat> GNU/kIllumos
<mjg> for any serious kernel stuff it is
<netbsduser> i understand that dillon himself was solely responsible for instigating most of what makes it unique
<netbsduser> that sounds like an accusation of criminality
<heat> arrest dillon
<netbsduser> but i mean his radical opposition to the trend in freebsd of building concurrency by lots of finely-grained mutexes with intricate ordering, his HAMMER and HAMMER 2.0 FS, etc
<heat> RADICAL OPPOSITION
<heat> THESE DARN RADICALS
<heat> i mean what's the alternative to finely-grained locks?
<heat> rcu trickery?
<netbsduser> dillon seems to like replication per-cpu and sending messages across cores to ask them to do the needful, in place of serialisation
<heat> that's only an option in certain cases
<heat> also, tricky
<heat> defaulting to mutexes/spinnies is fine
<mjg> netbsduser: that's not happening
<heat> if you need something better, you'll notice
<mjg> he has spinlocks like everyone
<heat> is it called mutex_enter?
<netbsduser> replication has been on the move for decades
<mjg> i'm confident it will never materialize
<netbsduser> just look at allocation in most kernels, both at the slab level and at the page level
<heat> yes
<heat> heavily used contended stuff needs heavy tricky optimizations
<netbsduser> bonwick describes per-cpu caches in his paper on vmem which is implemented in netbsd, i think also in linux and freebsd and dragonfly
<mjg> or RUST
<heat> and onyx
<heat> dont forget onyx
<mjg> per-cpu caching allocations is an idea so pedestrian i find it embarassing there is a paper
<netbsduser> i need to try rust again some day but i do wonder how well it would mesh with certain elements of my kernel
<heat> onyx gets more kernel commits than dragonflybsd
<mjg> heat: that was full repo stats fwiw
<netbsduser> e.g. the lifetime of a vnode is unusual because when it's about to be unreferenced for the last time, instead of unreferencing it the inactive() vop is called, which may have to e.g. acquire the mountpoint's inode number-to-vnode cache lock and remove the vnode from it
<heat> >vnode
<heat> >vop
<mjg> >net*bsd*user
<netbsduser> this solution came straight out of the Solaris book
<heat> this is so BSD im getting sick
<mjg> this naming is fine bro
<heat> no
<mjg> it's the linux one which sucks000rz
<heat> struct file, struct inode, struct dentry
<mjg> __kurwa
<mjg> _____innit
<heat> d_name
<netbsduser> linux calls vnodes inodes instead of calling the generic structure something else like the rest of us did
<mjg> they don't have a separate thing just for vnodes though
<heat> yeah well it turns out that if your design requires inodes they really are just inodes
<heat> i don't see how you would stat on a "non-inode"
<mjg> as in old unixes allocate a vnode and an inode, then point to the latter from the former
<netbsduser> hp-ux or aix or something like that calls vnodes 'gnodes' and has them also incorporate the incore inode by making them variably-sized
<heat> what's the ino_t st_ino for taht?
<mjg> in linux there is one buig allocation
<heat> good
<heat> less allocations are good
<mjg> meh
<mjg> i mean i mostly agree
<mjg> but there is a partial point where it made /some/ sense
<mjg> well they wrote themselves into a corner with fs stacking
<netbsduser> i am carrying out aggressive refactoring, i wouldn't rule out folding per-FS inode structures into a variably-sized vnode instead
<mjg> and separate vnode allocs damage control the bullshit
antranigv has quit [Quit: ZNC 1.8.2 - https://znc.in]
flom84 has quit [Ping timeout: 255 seconds]
antranigv has joined #osdev
<heat> linux is better anyway
<heat> mutex_enter my ass
<heat> spin_lock >>
<netbsduser> i will grant separate spinlocks is a bit nicer
<mjg> lmao rcu_read_lock
<netbsduser> on netbsd you create a mutex and depending on whether you specify passive or elevated IPL at creation time it's either a spinner or a sleeper
<heat> mjg stick your epoch_enter up your *rse
<heat> WE'RE USING QSBR BAYBEEEEEEEEE
<netbsduser> rcu patents are now expiring and would be fun to pilfer
<heat> i implemented them and just LGPL'd it
<netbsduser> even windows is now reported to have begun experimenting with it
<heat> that's very risky
<heat> unless they're willing to also LGPL it
<heat> (but they're not)
<heat> hard to know what things are and aren't patented
MrBonkers has quit [Remote host closed the connection]
<heat> and new ones keep coming out
MrBonkers has joined #osdev
<mjg> mutexes posing as spinlocks is a braindead solaris-isms
<mjg> it actively reduces performance
<mjg> for example in their own code they need 2 atomics to acquire the spinlock
<heat> pthread_mutex_lock vibes
<mjg> first is guaranteed to fail
<mjg> and that's how they know it's a spinlock
<netbsduser> i have to admit that i don't see the merit of them looking the same
<mjg> even they had seen the light and added a dedicated entry point for spinlocks
<mjg> i'm guessing they had to keep the old behavior for compat
<heat> aren't mutexes larger too?
<netbsduser> the netbsd manpage does reveal that the alternatively spinner or sleeper mutexes were borrowed from solaris
<netbsduser> heat: this is something that was bugging me
<heat> you can implement a simple ticket lock with like, 8 bytes
<heat> ticket spinny that is
<mjg> free net and open locking models were taken from oslaris
<netbsduser> my mutexes are 32 bytes or something like that
<netbsduser> while spinlocks are word sized
<heat> mutexes will always be naturally larger
<netbsduser> i want to add priority inheritance which threatens to enlarge them further
<heat> you need at least a "word" (smaller will do) + a thread queue (head + tail = 2 words)
<mjg> i suspect the mixed thing came from how they introduced smp
<netbsduser> but solaris has turnstiles which i think keeps the mutex small until it's contended
<heat> that sounds shady
<heat> i feel like an mjg rant is coming any second now
<mjg> turnstiles are an ok idea
<mjg> they just did it poorlish
<mjg> at least on paper they have priority propagation from userspace locks all the way down to kernel mutexes
<gog> it's locks all the way down
<heat> it's gogs all the way down
<mjg> so in principle they can guarantee there will be prio problems
<mjg> ... except their rw locks break the scheme
<mjg> and they have other hand-rolled locks which also do it
<heat> break all the schemes
<heat> disrupt, do not standardize
<mjg> the funniest shit in this area is lack of a lock ordering verification tool
<mjg> freebsd has one
<mjg> openbsd has one
<mjg> netbsd has one
<heat> LINOX HAS ONE
<mjg> fucking LINUX HAS ONE
<heat> LINUX LOCKDEP BAEBEEE
<mjg> but solaris, the supposed multicore king, does not
<netbsduser> i could use one
<mjg> hippies in linux have one, but serious engineers in solaris don't
<mjg> think about it
<netbsduser> how the times have changed
<netbsduser> linux torvalds said in 2001 or so that he was opposed to kernel debugger or any other debuggability niceties because it makes the programmers soft
<mjg> linux is more than torvalds for about 2 decades
<heat> kernel debuggers suck ass
<heat> i've never seen a useful kernel debugger
<mjg> depends when you mean by debugger
<heat> the freebsd one didn't even work for me
<heat> could not get input
<netbsduser> i have been thinking of adding one now that i target amiga 68k
<mjg> i had great use for post-portem analysis
<heat> yeah so just fucking coredump
<netbsduser> the amiga emulators have low-quality debuggers and my actual amiga has none
<mjg> live debugger? i had 0 use for
<heat> even gdb falls apart
<heat> when faced with highly concurrent programs
<heat> aka a fucking kernel
<mjg> you can make it work for certain bugs
<netbsduser> i had a terrible nightmare yesterday trying to boot on my a2000 w/ 68060 for the first time which turned out to be caused by mapping the pages in which page tables are stored as write-back cacheable
<heat> i've only used it to get backtraces
<netbsduser> i am always needing to print out the state of objects and such
<mjg> careful heat, osmeone is going to call you an elitist
<heat> i am an elitist
<mjg> are you a gatekeeper?
<heat> yes
<mjg> aight
<heat> you're not a real kernel dev if you know gdb commands by heart
<mjg> i'm a protected kernel dev
<heat> you know what I find really annoying?
<heat> kernel devs and firmware devs that don't know how to write userspace code
<mjg> millenial humor?
<mjg> bro fimrware devs don't know how to write any code
<heat> accurate
<heat> EFI has a shit printf interface that does not match printf semantics
<heat> i've warned them that they should change it, they don't really care
<gog> i wrote my own printf so it's not a problem
<heat> doesn't help ship products does it
<mjg> :D
<netbsduser> uefi almost as controversial as uefa in some communities
<heat> they were complaining about some warnings and asked me if we could get EFI printf toolchain support
<heat> like fucking hell
<heat> are you joking
<heat> do you know how to print a uefi size_t? a "UINTN"?
eddof13 has joined #osdev
<mjg> what is their freakin' printf doing
<heat> YOU CAST TO UINT64 and use %lx
<heat> YES
<gog> smh my head
<heat> LX PRINTS FUCKING 64 BITS
<gog> i know it's because of microsoft and intel's influence, but they really, really fucked up by not just shipping a libc interface in their official libefi code
<gog> it would've been so easy
<gog> the standard was already there
<gog> maybe less of it than today
<gog> but still
<heat> gog have you seen SetMem?
<gog> yeah
<heat> it's hilarious
<gog> it's fuckings tupid
<heat> huge source of bugs there
<heat> for the uninitiated, SetMem has the args backwards from memset
<gog> tbf
<gog> the ysignal that by rearranging the "set" and "mem"
<heat> SetMem(VOID *Buf, UINTN Size, UINT8 Val)
<gog> so you know to reverse order
<gog> it's simple logic
<heat> yeah but CopyMem isn't like that
<gog> i'm joking
<gog> it's stupid either way
<heat> i know
<heat> fwiw the tianocore tree has like 10 different implementations of C intrinsics and standard library functions
<heat> all of them kinda suck
<gog> enterprise code
<geist> yeah they shipped the org chart
<geist> each team has their own versions
<heat> oh yes it's all very overridable
<gog> and none of them talk to one another
<heat> so you need a PhD in tianocore build systems to know which one you're using
<geist> hough it all requiring ucs2 probably didn't help
<Ermine> oh, uefi talks
<geist> since that probably triggered half the programmers to decide to write their oewn
<mjg> :]]
<Ermine> ucs2 == utf-16?
<gog> not quite
<mjg> klasik innit
<geist> gog: see i usd the right one!
<gog> :D
<geist> i knew i'd get called out on it if i said utf16
<Ermine> Why the hell they're using ucs2
<geist> because MSFT
<Ermine> when we have utf8
<gog> and it was defined in like 1997 or smth
<geist> yah and NT was/is UCS2 based
<geist> because before utf16
<Ermine> That almost make me scream
<mjg> weird, i heard it was utf
<heat> guy who created IBI (EFI precursor) was an ex-NT dev
<gog> i think that was before wide charact3er stuff was standard
<mjg> win nt
<geist> i see the logic honestly. if you dont need to worry about >64k codepoints (which didn't exist at the time) there is something kinda nice about just ripping off the bandaid and declaring chars 16 bit (or 32bit)
<geist> mjg: folks tend to toss around ucs2 and utf16 interchangeably, though they're not exactly the same thing
<nortti> looks like utf-16 was introduced in unicode 2.0 in 1996
antranigv has quit [Quit: ZNC 1.8.2 - https://znc.in]
<gog> i solved the problem by making my efi version of putc just do a naiive promotion
<gog> and only using ascii strings
<heat> hawaiive promotion
antranigv has joined #osdev
<mjg> geist: webdeving the encoding!
<geist> i barely have had to work with it because i'm 'murican and 7 bits is good enough for me
<geist> and anything else i usually just declare utf8 and move on
<heat> hey google, what is "other cultures and languages"
<mjg> i just avoid any code where this would be an issue
<gog> convert it all to wide character on the fly if you need to do string ops
<heat> also google, search for dodge RAM 2023 model
<mjg> alexa, pull up jamie real quick
<geist> google, searching for Calvin peeing on a Ford logo
<gog> dang i can't wait to be murdred by that fierce llooking truck
<gog> hope the guy driving is wearing wraparound oakleys
<heat> dang that truck has so much trunk i can store all my ARs on it
* gog slaps hood
<gog> this bad boy can mow down so many children
<geist> maybe even fit your 50 cal browning
<gog> he'll yeah borther
<mjg> i feeel like i'm so out of the loop i'm in a different galaxy
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
<heat> mjg we're like, rocky
<heat> and you're ivan drago
<mjg> have some perl
<mjg> + chomp;
<mjg> + if($srcline_in_input and not $is_unknown){
<mjg> + $_ = <>;
<mjg> + s/\[.*?\]//g;
<mjg> + s/^\s*//g;
<heat> we are freedom loving compassionate eagle-trucks
<mjg> + s/\s*$//g;
<mjg> + $func.=':'.$_ unless $_ eq "";
<mjg> + }
<heat> you're bad serious comrade no joke no fun
<geist> oh oh oh reminds me, i actually used Bard to write some code the other day
* mjg slaps geist
<geist> found a good thing for it: tell it to write you a bash function to do something you want
<heat> bard is my favourite league of legends champion
<geist> since i always have to re-look up all the dumbass details, it's actually kinda nice
<mjg> so i tried chatgpt for some shell one-liners few weeks back
<heat> bash? dumbass details? you have the wrong language pal
<heat> it's *perfect*
<mjg> it produced stuff which basically works but is slow af
<geist> yeah but who does fast things on the shell right?
<mjg> it could be coerced to write something which is not though
<mjg> mon
<heat> mjg mjg mjg mjg
<heat> is it the P word
<geist> slow stuff on shell's sole purpose is to stress test your kernel
terminalpusher has quit [Ping timeout: 246 seconds]
bgs has quit [Remote host closed the connection]
<gog> bash forkbomb stress test
<mjg> you know what stress tests my kernel?
<mjg> fuckin firefox
<bslsk05> ​imgflip.com: say the line bart! simpsons - Imgflip
<mjg> WHILE IDLE
V has quit [Ping timeout: 240 seconds]
<heat> geist: kernel devs' testing setup has expanded from "building the kernel" to {"building the kernel", "running bad bash scripts"}
<mjg> mon first rule of performance fight club: under no circumstance run a workload the code is going to be subjected to
<heat> will they find "bad scientific C programs with 4GB arrays"?
<heat> what?
<mjg> don]t bench real-world use cases
<heat> obviously the performance of doing 64 concurrent unlinks is relevant
<heat> its how all workloads work
<heat> the CPU just does the same thing in a loop
<heat> it's realistic
<mjg> if you want to take a piss, security folks are a better target
<mjg> 1. add something with enormous overhead
<mjg> 2. bench with code which almost does not use it and is slow af as is anyway
<mjg> 3. claim no change
<mjg> => great mitigation
<heat> 1. run will it scale
<heat> >210k ops/s
<heat> 2. make changes
<heat> 3. run will it scale
<heat> >209k ops/s
<heat> 4. write long-winded post to the LKML
<heat> literally unusable
<mjg> security folk are the most intellectually dishonest bunch i know
<geist> oh no is the P code being talked about?
<gog> p code
<Ermine> So in multiboot2, I should figure out the address at which kernel image should be loaded, right?
<mjg> p-state
<geist> P machine
<heat> we're pushing P
<mjg> Perminator 800
<gog> p code is stored in the balls
<heat> Ermine: depends
<heat> talking from a bootloader PoV?
<Ermine> yes
<heat> yes
<heat> some images may also be set as relocatable meaning you can load them anywhere
<heat> onyx is one of those
<gog> relocatable is good
<heat> (anywhere between some lower and upper bounds)
<Ermine> thank you heat <3
<heat> not a problem Ermine
<heat> <3
<heat> 1. think about doing osdev
<heat> 2. don't do so and boot up windows
<heat> 3. open up discord and play video games with friends
<heat> 4. do not write to the LKML
<gog> never write code
<gog> i should do the dishes
<heat> instead of writing C++, do the dishes
<heat> better option
<Ermine> Not at home, so no gamez
<geist> i should play some games too. i started playing Deaths Door the other day, cute little platformer
V has joined #osdev
<gog> i've been playing factorio nearly constantly all weekend
<gog> i had to take a break tho
<mjg> play league of legends
<mjg> anyone here plays that?
<gog> i will never play league of legends
<Ermine> I tried once, without success
<mjg> lmao you chicken LOL
<gog> ok
<mjg> i never tried the game, the only time i hear about it
<mjg> is when people claim toxicity of the playerbase
<Ermine> I'm playing genshin impact and heard stories of weirdos coming in coop mode
<heat> i play csgo and rocket league and football manager
<heat> mjg you should play csgo
<Ermine> But no weirdos ever came to my world
<heat> polish people are naturally good at cs
<heat> and KURWA MAC
<mjg> the polish in quek were known for cheating
<mjg> and talking tons of shit
<mjg> on the cheating front there were just some "prolific" bad pples
Hammdist has joined #osdev
<mjg> but shit talk is definitely representative
<gog> ok i'm gonna do dishes and eat apple pie
<Ermine> gog: you should definitely try making pastries
<zid> I found my new favourite software development idiom
<zid> It's only temporary, unless it works.
<gog> ehh i i'm not good at making oven things
<gog> except pizza
<zid> oven cooking is easy, being a bakery is hard
<heat> let her cook
<zid> gog appreciates it when women get told to go cook
<zid> err heat*
<zid> fucked my own joke
<gog> i have a love/hate relationship with being the object of misogyny
<gog> i'm supposed to be doing dishes ok bye
MrBonkers has quit [Remote host closed the connection]
<mjg> heat you should play a boomer shooter
MrBonkers has joined #osdev
<heat> no
<bslsk05> ​github.com: Memsim/Nathaniel Aldino & Anthony Sarim Project 2/memsim.cpp at main · nathanaldino/Memsim · GitHub
<mjg> lmao
<heat> no space between // and the comment
<heat> literally unreadable
<Ermine> gog: I suggested making pastries not because you're woman, but because I like pastries. Sorry if I made you feel it another way
<heat> she's joking im pretty sure
<heat> i hope so at least
<Ermine> Hopefully
<mjg> failed to open file?
<mjg> complain about it and press on
<mjg> read from the unopen handle
<Ermine> I'm also doing dishes at home
MrBonkers has quit [Quit: ZNC 1.8.2+deb2build5 - https://znc.in]
MrBonkers has joined #osdev
<gog> Ermine: lol no i was referring to what heat said
<gog> you're good
<gog> also my wife said i can't have pie yet because it's not cooled :<
<gog> i tried to convince her
<heat> gog i didn't offend you did I?
<heat> was just a play on the let him cook memes
<gog> no i know you were joking
<heat> oh ok good
<mjg> i know heat
<gog> also i like to cook
<mjg> he is an ASS
<heat> i'm not just an ass
<heat> i have more body parts
<mjg> THE ASS
<gog> i wish i had pie rn
<heat> gog -fPIE
<heat> gcc (gog c compiler)
<gog> fun fact i am going to write a c compiler soon
<zid> gcc is the gog-cook-command I thought
<mjg> c stands for cooking
<mjg> Historical glibc details
<mjg> Glibc 2.0 provided an incorrect version of pselect() that did not take a sigmask argument.
jjuran_ has joined #osdev
<mjg> lmao
g0shfuckingdarn1 has joined #osdev
bl4ckb0ne_ has joined #osdev
<gog> glib c
<gog> it's very terse
pounce_ has joined #osdev
<gog> but a little funny
<mjg> fucking hell gnu make code is dogshit
hl_ has joined #osdev
merry_ has joined #osdev
terrorjack7 has joined #osdev
<gog> i've never had the displeaseure
j`ey_ has joined #osdev
nortti_ has joined #osdev
Brnocris1 has joined #osdev
Terlisimo1 has joined #osdev
eck_ has joined #osdev
Test_User has joined #osdev
<mjg> if someone is feeling to happy at the moment
<mjg> perhaps they could patch in epoll support into it?
ebb_ has joined #osdev
nortti has quit [Killed (NickServ (GHOST command used by nortti_))]
nortti_ is now known as nortti
goliath has quit [*.net *.split]
simpl_e has quit [*.net *.split]
linearcannon has quit [*.net *.split]
jjuran has quit [*.net *.split]
jeaye has quit [*.net *.split]
\Test_User has quit [*.net *.split]
bl4ckb0ne has quit [*.net *.split]
Terlisimo has quit [*.net *.split]
eck has quit [*.net *.split]
nj0rd has quit [*.net *.split]
air has quit [*.net *.split]
DanDan has quit [*.net *.split]
terrorjack has quit [*.net *.split]
merry has quit [*.net *.split]
amj has quit [*.net *.split]
Brnocrist has quit [*.net *.split]
j`ey has quit [*.net *.split]
hl has quit [*.net *.split]
ebb has quit [*.net *.split]
pounce has quit [*.net *.split]
merry_ is now known as merry
terrorjack7 is now known as terrorjack
jjuran_ is now known as jjuran
ebb_ is now known as ebb
<Ermine> mjg: s/make //
pounce_ is now known as pounce
nj0rd has joined #osdev
goliath has joined #osdev
air has joined #osdev
Brnocris1 is now known as Brnocrist
amj has joined #osdev
hl_ is now known as hl
bl4ckb0ne_ is now known as bl4ckb0ne
<mcrod> hi
wblue has quit [Quit: wblue]
<gog> hi
<Ermine> heat: which multiboot2 information requests and tags does onyx use?
deflated8837 has quit [Ping timeout: 244 seconds]
deflated8837 has joined #osdev
heat has quit [Ping timeout: 246 seconds]
Test_User is now known as \Test_User
eck_ is now known as eck
<bslsk05> ​lkml.org: LKML: Linus Torvalds: Re: [GIT PULL] Load keys from signed PE binaries
<mjg> check the entire thing
<mjg> hilarious
brynet has quit [Quit: leaving]
<Ermine> Is Linus answer hilarious from your perspective?
jeaye has joined #osdev
<mjg> in the sense of a grown man being juvenile
<gog> hmm
<gog> so
<gog> yeah i don't understand the use case here
<gog> "secure boot" aka "microsoft vendor lock in"
<mjg> microsoft is a good player now!
<gog> microsoft can eat my entire ass
<gog> i know this is weird coming from an EFI lover like me
<mjg> you are full of contraditions gog
<gog> i know
<mjg> is working with efi webdev?
<mjg> that is a question to ponder
SGautam has quit [Quit: Connection closed for inactivity]
<gog> i'm porting chrome to efi remember
<gog> so i can webdev
<mjg> have you used windows93?
<mjg> windows93.net
<bslsk05> ​i.imgur.com <no title>
<mjg> personally i like brian swipper
<mjg> if i had to write a graphical program in college i would do something like that
g0shfuckingdarn1 has quit [Remote host closed the connection]
MarchHare has quit [Ping timeout: 245 seconds]
<gog> yh
linear_cannon has joined #osdev
<gog> the solitaire game is only draw 1 klondike
<gog> the one on the exercise bike at the gym is only draw 3
brynet has joined #osdev
troseman has joined #osdev
troseman has quit [Client Quit]
<Ermine> Situation around those keys is shitty
<Ermine> In my understanding, either root of trust is read-only and provided by the vendor, and user depends on the vendor
<Ermine> Or you can enroll your own, you can use any system you want, but those key don't provide any security against adversary with sufficienlty advanced tools (e.g. state adversaries)
Burgundy has joined #osdev
<gog> all my adversaries are state adversaries anyway
<gog> username: nsf001, password: smashthestate
goliath has quit [Quit: SIGSEGV]
antranigv has quit [Quit: ZNC 1.8.2 - https://znc.in]
<zid> -NickServ- Invalid password for gog.
troseman has joined #osdev
antranigv has joined #osdev
Hammdist has quit [Ping timeout: 246 seconds]
Turn_Left has quit [Read error: Connection reset by peer]
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
eddof13 has joined #osdev
heat has joined #osdev
<heat> Ermine: sorry, fucked off for a bit
<heat> you can see all it uses in arch/x86_64/boot.S
eddof13 has quit [Client Quit]
<heat> and then the mb2 code in some .cpp file
<heat> for the tags it consumes
<heat> the efi handover mb2 path is a bit funny, it's essentially half EFI half MB2 code
eddof13 has joined #osdev
eddof13 has quit [Client Quit]
eddof13 has joined #osdev
eddof13 has quit [Client Quit]
heat has quit [Quit: Client closed]
eddof13 has joined #osdev
heat has joined #osdev
eddof13 has quit [Client Quit]
<gog> half and half
<heat> gog
heat_ has joined #osdev
heat has quit [Read error: Connection reset by peer]
<gog> heat_:
<gog> you have somthing hanging from your t
<zid> It's a snail trail
<zid> he forgot to wipe
zxrom has quit [Quit: Leaving]
<heat_> gog: bazidga
<moon-child> __heat
heat_ is now known as _Heat
<moon-child> this is so epic. can we hit 99 cs
<_Heat> _No
<_Heat> sorry, my bad
<_Heat> _Canwe hit99 = no;
<_Heat> stdcanwe.h: #define no _No #define yes _Yes
<moon-child> #pragma STDC :(
torresjrjr__ has quit [Remote host closed the connection]
troseman has quit [Quit: troseman]
torresjrjr_ has joined #osdev
<gog> dang'