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> _Pragma("STDC :(")
<moon-child> ??=pragma STDC :??/
<_Heat> everybody gangsta until we fucking bring out the trigraphs
<gog> jesus
<_Heat> fuck it im
<_Heat> im bringing out iso646.h
<gog> noooooo put it away
<_Heat> if (ptr not_eq NULL and flags bitand 1)
<gog> this is unholy
<gog> beyond cringe
<gog> beyond cursed
<_Heat> wdym
<_Heat> its like python!!
<gog> this is shit that satan themselves would say is too far
<_Heat> im gonna make a gcc spec file that injects -include iso646.h into the command line
<gog> you're a monster
<_Heat> -std=heat02
antranigv has quit [Quit: ZNC 1.8.2 - https://znc.in]
<zid> -std=zid is super cool you should implement it
antranigv has joined #osdev
<moon-child> #undef zid
alexander has quit [Quit: ZNC 1.8.2+deb3.1 - https://znc.in]
alexander has joined #osdev
<mcrod> hi
Burgundy has quit [Ping timeout: 255 seconds]
netbsduser has quit [Ping timeout: 255 seconds]
heat has joined #osdev
_Heat has quit [Read error: Connection reset by peer]
eddof13 has joined #osdev
eddof13 has quit [Client Quit]
eddof13 has joined #osdev
eddof13 has quit [Client Quit]
heat has quit [Ping timeout: 246 seconds]
[itchyjunk] has quit [Ping timeout: 248 seconds]
vdamewood has joined #osdev
<kof123> > The following sections are informative. > APPLICATION USAGE None > RATIONALE None.
<bslsk05> ​pubs.opengroup.org: <iso646.h>
<kof123> there is no usage, there is no rationale. it has transcended reason and mere usage
<Jari--> kof123 seems like common operative macros, https://pubs.opengroup.org/onlinepubs/009695399/basedefs/iso646.h.html
<kof123> https://www.lysator.liu.se/c/na1.html meant to improve the appearance of C programs written in national variants of ISO 646 without, e.g., { or } characters.
<bslsk05> ​www.lysator.liu.se: A brief description of Normative Addendum 1
<kof123> i'm just joking the documentation is consistent
Jari-- has quit [Ping timeout: 258 seconds]
<klange> have a toaruos 2.2 because i got sick of the latest release being the year-old 2.1 https://github.com/klange/toaruos/releases/tag/v2.2.0
<bslsk05> ​github.com: Release ToaruOS v2.2.0 · klange/toaruos · GitHub
<zid> New Features: Copyright notice now goes to 2023.
<klange> There's actually a lot in there - major window decoration improvements, minimization, brand new Yutani Kuroko bindings
<zid> Twas an joke
<klange> I know, but :)
Hammdist has joined #osdev
vdamewood has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
troseman has joined #osdev
troseman has quit [Client Quit]
antranigv has quit [Quit: ZNC 1.8.2 - https://znc.in]
antranigv has joined #osdev
DanDan has joined #osdev
gog has quit [Ping timeout: 260 seconds]
bgs has joined #osdev
<kof123> i am not ...wishing to discuss. this is more just to contribute to the "mjg in shambles" cause https://www.wired.com/insights/2014/10/meritocracy/
<bslsk05> ​www.wired.com: Meritocracy: The Workplace Culture That Breeds Success | WIRED
jimbzy has quit [Ping timeout: 246 seconds]
orccoin has quit [Ping timeout: 250 seconds]
SGautam has joined #osdev
goliath has joined #osdev
gxt has quit [Remote host closed the connection]
gxt has joined #osdev
zxrom has joined #osdev
vdamewood has joined #osdev
zxrom has quit [Quit: Leaving]
danilogondolfo has joined #osdev
SGautam has quit [Quit: Connection closed for inactivity]
notAfed has joined #osdev
<notAfed> Hello
Nixkernal has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
<sham1> Hello
Nixkernal has joined #osdev
gabi-250 has quit [Remote host closed the connection]
gabi-250 has joined #osdev
[itchyjunk] has joined #osdev
Nixkernal has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
GeDaMo has joined #osdev
Nixkernal has joined #osdev
Nixkernal has quit [Client Quit]
Nixkernal has joined #osdev
Nixkernal has quit [Client Quit]
Nixkernal has joined #osdev
[itchyjunk] has quit [Remote host closed the connection]
SGautam has joined #osdev
vdamewood has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
gog has joined #osdev
Left_Turn has joined #osdev
Burgundy has joined #osdev
heat has joined #osdev
kof123 has quit [Ping timeout: 252 seconds]
kof123 has joined #osdev
alexander has quit [Quit: ZNC 1.8.2+deb3.1 - https://znc.in]
gareppa has joined #osdev
gabi-250 has quit [Remote host closed the connection]
gabi-250 has joined #osdev
gildasio has joined #osdev
alexander has joined #osdev
wootehfoot has joined #osdev
blop has joined #osdev
heat has quit [Read error: Connection reset by peer]
heat has joined #osdev
pog has joined #osdev
gog has quit [Ping timeout: 244 seconds]
Hammdist has quit [Ping timeout: 246 seconds]
Burgundy has quit [Remote host closed the connection]
<pog> it's me pog
<heat> hi pog
<heat> its me, gog
<sham1> Very poggers
<heat> goggers
<pog> i'm a web developer
<pog> :(
unsigned has joined #osdev
<Ermine> pog: may I pet you
<pog> yes
* Ermine pets gog
<heat> pets who?
<heat> who did you pet?
<heat> who's this "gog" person?
<heat> Ermine, btw did you see my answer to your mb2 questions?
<Ermine> oh
* Ermine pets pog
<Ermine> heat: I saw, thank you
* pog prr
heat has quit [Remote host closed the connection]
heat has joined #osdev
<Ermine> heat: btw you used a macro for EFI entry address tag type and directly hardcoded type values for other tags in boot.S
<heat> i know
<zid> 'fite me irl'
<heat> the other tags were part of older code that didn't include multiboot2.h
netbsduser has joined #osdev
<heat> SND PR
<mjg> L Mao
<heat> L Mao Zedong
unsigned has left #osdev [.]
leon has quit [Ping timeout: 245 seconds]
<Ermine> heat: done
<Ermine> recv pr
<pog> hi
<Ermine> hi
<pog> i'm developin gweb
<pog> i want to be done with the day i have substances i want to use
<Ermine> I'm going to do web development too
<heat> develop oyx
<heat> make kernal go br
<heat> Ermine, added a small comment on the PR
<heat> btw maybe rename boot: to x86/boot:
<heat> otherwise ok heat@
<Ermine> Will do
<pog> haha keral go brrr
<Ermine> Done
<heat> yeah running CI now
<mcrod> hi
<Ermine> hi mcrod
<mcrod> my cat is sneezing constantly
<mcrod> :(
<sham1> Why is it raining
<sham1> Why
<sham1> This commute will be terrible
<Ermine> mcrod: cats are cute when sneezing
<pog> it's raining here too
<pog> i'm not dressed for this weather
<pog> at least it's warm-ish
<mcrod> pog may I pog you
<pog> mcrod: only if i can mcrod you
<zid> sham1: I made it rain, just for you
<pog> it's sunny now
<pog> ¯\_(ツ)_/¯
<mcrod> pog: yes
<zid> sunny here too
* mcrod pogs pog
<zid> I wouldn't be silly enough to make it rain on mysef
* pog mcrods mcrod
* mcrod prr
<sham1> zid: this is indeed quite UK-tier rain
<zid> boring and light and over in 20 minutes?
apokryptein has joined #osdev
Arthuria has joined #osdev
<Ermine> So gh ci builds toolchains in 20 minutes
Arthuria has quit [Killed (NickServ (GHOST command used by Guest684531))]
Arthuria has joined #osdev
<heat> yeah
<heat> macos is a bit slower
<heat> LLVM is going to take like 3h though
<pog> heat: have you played with the blocks feature in macos clang
<Ermine> woah
<pog> it brings proper closures and lambdas to c
<Ermine> Well my pc is slower anyway
<heat> pog, nope
Burgundy has joined #osdev
<heat> no idea what that is
<heat> why is it only in apple clang?
<pog> because it needs ABI support that is only present in osx
<heat> sad
<heat> downvotes to the left :(
<pog> unless i misunderstood and it's available on linux too
Burgundy has quit [Remote host closed the connection]
<mcrod> i'm going to cry
<mcrod> I have to draw a state diagram
<pog> nooo
<FireFly> boo, I prefer anarchist diagrams
<zid> found a meme for heat
<bslsk05> ​redirect -> www.reddit.com: Reddit - Dive into anything
<heat> definitely
<heat> shitty realloc loop alert!!
<heat> mcrod, UML!
Burgundy has joined #osdev
<pog> smh if you need the STL you've already fucked up
<pog> never contain things
<zid> STL is just pre-written C with bad performance.
<zid> that compiles very slowly
<zid> VERY slowly
eddof13 has joined #osdev
* pog compiles slowly
<pog> yay! my latest ui feature is out
<pog> and it's working quite well
<Ermine> poggers
<pog> yes
<pog> but also the API i've been working on implementing has inconsistent responses
<pog> the schema says this one field should be an array
<pog> but it's not
<pog> i can't deserialize that
<heat> the STL usually does not have bad performance
<heat> it has other issues, but usually decent performance
<heat> i.e std::vector has O(1) amortized insertion
<zid> see, imagine if you had types, it just would return 501 instead and then you'd be in real trouble, smh
<pog> APIs are bullshit
<pog> we need to stop making new ones
<zid> APIs are great, what web people think an "API" is is fucking laughable
<zid> approximate pretend interface
<pog> representational shit transfer
<zid> REST is neat, web people misunderstood it so badly they actually *implemented it as the opposite of what it is*
<Ermine> RST is even better
<zid> RST 0x30
<zid> best gb instruction
<zid> 0xF7
Arthuria has quit [Ping timeout: 248 seconds]
<heat> RST|ACK
<zid> No there's no ACK opcode sorry
<zid> heat you need to guess what RST 0x30 does
<zid> I said guess not google, smh
<pog> MEW 0x69
<Ermine> HCF
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
[itchyjunk] has joined #osdev
<sham1> JF
<sham1> JFC
<zid> jump flag carry, obviously
<heat> zid, idk
<zid> heat: call 0x30 but 1 byte encoding, duh
<heat> oh lol
<heat> 0x30 is the reset vector?
<zid> one of them
eddof13 has joined #osdev
<zid> there's rst 0 8 10 18 20 28 30 38
<zid> irqs are 40 48 50 58 60
<zid> My plan is to slowly teach you the gameboy architecture
<FireFly> I thought that sounded familiar lol
<sham1> Z80 with extra steps.
<zid> fewer steps
<FireFly> different steps
<zid> but also fewer
<zid> real z80 way more complicated
<FireFly> the ultimate talk has a good chart re that :p
xenos1984 has quit [Read error: Connection reset by peer]
Hammdist has joined #osdev
jimbzy has joined #osdev
leon has joined #osdev
SGautam has quit [Quit: Connection closed for inactivity]
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
xenos1984 has joined #osdev
eddof13 has joined #osdev
eddof13 has quit [Client Quit]
<zid> squares are more area effecient, so there's fewer edge cases, qed
<zid> That's why I am a huge advocate of circular cpu dies.
<mcrod> zid, zid, hey zid
<mcrod> you're an SDL guy right? sure you are.
<mcrod> https://godbolt.org/z/YTWY16qco no sound, help!
<bslsk05> ​godbolt.org: Compiler Explorer
<zid> did you sdl init it
hrberg has joined #osdev
<mcrod> yes
<pog> oof
<zid> oh yea line 14
<pog> i'm gonna get a talking to for a fuckup today :|
<pog> or at least i'm expecting one
<zid> f32 is a fucky weird format btw, gj
<sham1> pog: why
<mcrod> why? sinf() returns floats
<mcrod> so... why not use floats?
<pog> because i really, really have a problem when it comes to rushing my work
<pog> and it keeps happening
<zid> it's just a super weird audio format
<sham1> mcrod: it might be convenient from the PoV of the application, but maybe your hardware just can't
<zid> that your driver may or may not support
<mcrod> hm, fair
<mcrod> so what's a non fucky format
<mcrod> s16?
<zid> yea, 16bit pcm
<zid> AUDIO_S16LSB
<zid> or whatever
<zid> So the obvious first question, regardless, is, is play_audio ever called?
eddof13 has joined #osdev
<mcrod> yes
<zid> it's working fine then, probably just a volume/endian/etc issue
<zid> I have no idea what volume float audio wants
<sham1> 16-bit signed integer audio at 44.1 kilohertz and you literally catch all the frequencies a human can hear
<sham1> Well, median human
<zid> all human*
<zid> humans don't hear above 20khz, 44.1 was picked because it's 10% higher than that, then a multiple of ntsc or whatever
<zid> hence the weird .1
<sham1> Well you might get the odd person that might hear above 20 kHz
<sham1> But yeah, those would be dozens
<zid> you don't, and if you did, you shouldn't care
<pog> i can still hear that high
<zid> I used to be able to hear up to 18 when I was a wee nipper
<pog> i just tested and yeah
<pog> owie
<pog> i can't believe these earbuds work that high
<zid> I don't have studio monitors or anything though
<zid> in order to test if it's my hearing or not
<zid> for >16khz
<pog> maybe it was a harmonic and i'm not actually hearing that high
<zid> more than likely, tbh
goliath has quit [Quit: SIGSEGV]
vdamewood has joined #osdev
<Ermine> Maybe it's possible to disable building clang components, like clangd and clang-doc?
j`ey_ is now known as j`ey
<pog> ok
<pog> my talking to was gentle
<pog> but i have a new assignment to write a new pre-receive hook
<pog> specifically for me to say "ada did you test your shit"
<Ermine> don't forget to test your shit
<pog> yes
Hammdist has quit [Quit: Client closed]
goliath has joined #osdev
heat has quit [Read error: Connection reset by peer]
heat has joined #osdev
netbsduser has quit [Ping timeout: 246 seconds]
xenos1984 has quit [Ping timeout: 246 seconds]
xenos1984 has joined #osdev
<Ermine> Wooo, CI finished
<pog> wooo
<pog> do any of y'all have the misfortune of using bitbucket
<pog> there's post-receive hooks and pre-merge checks but nothign that stops you from even opening a PR
<pog> at least as far as i can tell
<Ermine> Wdym? Everyone on the Earth can open PR
<Ermine> ?
<pog> i need a tighter set of restrictions on myself and i can't be trusted to just "remember" to do things
<pog> esp when i'm already slightly manic
heat has quit [Read error: Connection reset by peer]
heat has joined #osdev
<sham1> I can't think of any forge that would let you set that kind of a limit on a PR
<pog> dang
<pog> but i need something to say "WHOA THERE LITTLE LADY"
<GeDaMo> Could you write your own front end which implemented these checks?
<pog> i suppose
<GeDaMo> Except that sounds like work :P
netbsduser has joined #osdev
<sham1> Anyway, what did you do that made you think of this
<pog> i rushed a fix and missed a critical change
<pog> because i was simultaneoulsy working on a related changeset that i was also testing
<pog> and i got mixed up which ones i tested
<sham1> You're not the first or the last developer to make a mistake
<pog> i know that
<pog> i'm just trying to find some solution to make me slow down at critical junctures
<pog> because my boss was a little displeased that i fucked this up
<pog> and it's an error i make consistently
<pog> so it's not like it's a one-off, this is an ongoing problem have
deflated8837 has quit [Ping timeout: 255 seconds]
deflated8837 has joined #osdev
pog has quit [Quit: Konversation terminated!]
<zid> oh shit, nyaa is down, but honzuki is in 4 hours..
<zid> okay it does work it just stalls out loading something until some timeout happens, phew
<mcrod> hi
<Ermine> hey
xenos1984 has quit [Ping timeout: 246 seconds]
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
gxt has quit [Remote host closed the connection]
eddof13 has joined #osdev
gxt has joined #osdev
xenos1984 has joined #osdev
wootehfoot has quit [Quit: Leaving]
wootehfoot has joined #osdev
<mcrod> i hate audio
<mcrod> I'm hearing what I want to hear but not the entirety of it
<mcrod> presumably because I'm underrunning
wootehfoot has quit [Client Quit]
<mcrod> and I don't think the solution is "increase the ring buffer to be 1MB in size"
<mcrod> because now I hear everything
<heat> this is so embedded its making me sick
<heat> use multiple cores
<heat> fancy locking strategies
<heat> percpu/thread data
<mcrod> i. can't.
<heat> <heat> this is so embedded its making me sick
<heat> fucking embedded HIPPIES
<zid> S16 fixed it?
<mcrod> yes
<zid> apparently F32 has 1500dB of dynamic range
<mcrod> however
<mcrod> I think either:
<mcrod> a) my ring buffer implemenation is fucked
<zid> 1100dB would create a black hole that destroyed the known universe
<zid> you don't n eed a ring buffer impl though?
<mcrod> I don't understand why you keep saying that
<zid> because you don't
<mcrod> but you understand that I'm generating upwards of 2 million samples in the worst case
<zid> why?
gareppa has quit [Quit: WeeChat 3.8]
<zid> You should generate them monotonically, by keeping state
<zid> like phase
<mcrod> so like
V has quit [Ping timeout: 246 seconds]
<zid> if I tell you generate "the next 14 microseconds" that should be a question you can answer
<mcrod> ok
<zid> if it's a .wav that's just by filepos existing, if it's procgen audio it's by keeping track of your rng seed, etc
<zid> or your little sine generate you had before, static float phase_angle;
<mcrod> so what you're saying is
<mcrod> void audio_callback(whatever) { play whatever is in the buffer, up to a maximum of 'n' samples; now generate another 'n' samples }
<mcrod> this is pretty much the last hurdle
<zid> I mean, you could
<zid> or you could just skip the first part before the ;
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<mcrod> what the hell do you mean
<mcrod> I have to copy samples into the buffer SDL gives me
<zid> SDL_AudioCallback(void *p, char *data, int len){ for(i = 0; i < len; i++) data[i] = sine_bullshit; }
<mcrod> (for the record I'm not talking about the sine wave thing here, I'm talking about the real deal in my program)
<zid> if you *want* to generate your sine_bullshit ahead of time, you can do
<zid> if you're doing audio playback of a bunch of samples you'd be better off with the enqueue version
<zid> prerecorded samples*
<bslsk05> ​godbolt.org: Compiler Explorer
<mcrod> obviously this is extremely wrong
<bslsk05> ​wiki.libsdl.org: SDL2/SDL_QueueAudio - SDL Wiki
danilogondolfo has quit [Quit: Leaving]
<mcrod> yeah my first version of this was to use SDL_QueueAudio
Burgundy has quit [Ping timeout: 246 seconds]
<mcrod> where i'd do something like `int16_t sample; while (!done) { samething_core_gen(done, &header, &sample); SDL_QueueAudio(sample); }`
<mcrod> but I thought pull mode is supposed to be the Right Way (TM)
<zid> queueaudio is basically "play this entire wav" not "here is a sample"
<zid> that will crackle to absolute fuck
<mcrod> right
<mcrod> that's why I didn't do that
<zid> so what do you have, unknown length streams of samples that are generated at runtime, or recordings?
<zid> former use the callback, latter use queue
<mcrod> former, yes
<mcrod> if you want to see what's going on, https://godbolt.org/z/Yjqxqohe8
<bslsk05> ​godbolt.org: Compiler Explorer
<mcrod> and line 125 gives me a terrifically horrible noise
<mcrod> presumably because that's not in fact how you generate two sine waves simultaneously
<mcrod> of different frequencies*
<mcrod> i'm just a bit confused at the 'monotonically' part
* heat does his best sortie impression
<zid> mcrod: your program cannot run faster than realtime.
<heat> SORTI-uh I mean Onyx takes contributions from our Dear Contributors: see https://github.com/heatd/Onyx/commit/086834621cbf7e318e11cb866aad19a09742c46e
<bslsk05> ​github.com: x86/boot: use macros for multiboot2 header tag types and magic · heatd/Onyx@0868346 · GitHub
<mcrod> but I'm not hearing anything that makes sense to me, other than that
<mcrod> what I'm hearing is "generate n samples, then wait for the audio callback to be called, once that happens flush the sample buffer to SDL's stream buffer, then generate another n samples"
<mcrod> and _that_ makes sense to me
<zid> yes, but make sure *the program resumes* after that final comma
<zid> anything you do inside the callback is atomic
<zid> it doesn't see the data until you }
<mcrod> ok ok I see now
<zid> and the universe is paused while you're inside the callback
<mcrod> so I might just want a context struct to keep track of the state of the generation
<zid> the program, if it is trying to genererate *more samples than realtime*, will *need* to pause
<zid> and let realtime catch up
<zid> like, it can't expect to play a 100ms beep noise at 200Hz
<zid> just because that's how fast the code "could" run
<heat> mjg, the onyx kernel now has 2 contributors, we're beating dragonfly!! wanna join?
<zid> It's up to you how you want to solve that, audio mixing, blocking on the audio buffer being full, etc
<heat> i'll cheer you on while you make things go fast
<zid> and depends on the *kind* of program you're making
<zid> for an emulator you just 100% block, and let the audio time your emulation speed
<mjg> heat: who is the othe person
<zid> for an mp3 player, you also always block, cus.. playing the entire mp3 file mixed down to 4ms because you have a nice 5GHz cpu not that useful to the user :p
<mjg> gogs?
<heat> Ermine
<heat> definitely not me with a sock puppet
<mjg> in order to beat dfly you need 9 people
<mjg> in total
<heat> gog doesn't love me enough for code contributions
<zid> a platformer with a bunch of explosions? The background music needs to generate samples and block, but the sfx would like to be mixed together so they can overlap and be stoccato, etc
eddof13 has joined #osdev
<mjg> i think we may be able to convince 7 more people to write osmething
<mjg> index 545e1f8d..f2f15bed 100644
<mjg> +++ b/README.md
<mjg> diff --git a/README.md b/README.md
<mjg> --- a/README.md
<mjg> @@ -1,6 +1,6 @@ # Onyx
<mjg> -## A POSIX-like operating system
<mjg> +## A POSIX-like operating system inferior to Sortix
<mjg> Onyx is a POSIX-like operating system.
<mjg> please merge
<immibis> mcrod: it is how you generate two sine waves of different frequencies, but it overflows int16_t because each one is using the full range of int16_t and when you add them together it overflows sometimes. You'd need to divide each one by 2.
<heat> send me patchen over email using git format-patch + send-email
<heat> or b4
<mjg> do you accept pull requests
<mcrod> immibis: ahhhhhhhhhhhhhhh yes
<heat> yes
<mcrod> thank you
<mcrod> <3
<heat> but im looking for a more traditional workflow
<zid> mcrod: I recommend gnuplot btw
<heat> >gnuplot
<zid> Seriously, best way to debug writing a mixer
<immibis> fun fact: many DSP chips (specialized processors for audio, radio etc) have + operators that saturate, meaning that for example 20000+20000 gives 32767 instead of wrapping it around
<zid> just dump your shit to file then tell gnuplot to plot it
<heat> gnu plot? more like GNO PLOT
<zid> you can find all the stupid clipping and discontinuity issues etc
<heat> PLOT... MY ASS
<heat> AH
LostFrog has quit [Read error: Connection reset by peer]
PapaFrog has joined #osdev
<heat> i will never use it out of protest, just like rust
<zid> immibis: mixing is fucking magic btw
<heat> ppl say gnuplot changes lives
<immibis> mixing things at the same sample rate is not magic. you literally just add them together
<heat> im perfectly happy with my own
<zid> I wish it were as simple as normalizing and multiplying
<zid> immibis: if you do that, 10 streams of silence and 1 full volume audio clip turns into one clip playing at 1/10th the volume
<immibis> so you need to plan how to use the available volume
<zid> hence why mixing is voodoo
<zid> that plan is often "first, you find a goat"
<immibis> art != voodoo
<heat> page replacement is magic too
<heat> same as OOM-killing
<zid> like, you'd notice if on windows if opening 20 new tabs in chrome playing silence slowly mad your audio quieter and quieter :P
<heat> all voodoo shit
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
heat has quit [Ping timeout: 248 seconds]
heat has joined #osdev
eddof13 has joined #osdev
notAfed has quit [Quit: WeeChat 4.0.4]
<sham1> It's either Gnuplot or matplotlib
<sham1> Pick your poison
<sham1> Although I'll warn you, the latter is pythonm
<zid> disgasting
<heat> microsoft excel
<zid> good news heat, I did a normal ass poop
<heat> nice!
<geist> i kinda want an old X terminal
<geist> discuss.
<zid> what's an X terminal
<sham1> Like a dumb terminal?
<immibis> go ahead, nobody really cares, don't expect it to run anything modern
<zid> a thin client for running X apps on?
<zid> remotely
<geist> oh children you've never seen a X terminal?
<heat> if its not a VAX I don't want it
<zid> I know teletypes
<kazinsal> get an x terminal
<zid> and I know PCs
<geist> kazinsal: yesssssss
<heat> is it a new term for a smartphone since twitter rebranded?
<kazinsal> I still need to tear down the vax
<geist> saw some guy revewing sun rays on youtube the other day, then remebered the old X terminals that predated that we had in college
<zid> is it what I thought though? a networked, limited, computer, with a graphics output for using X remotely?
<kazinsal> figure out what exactly went pop in there
<immibis> something something anti-vax
<immibis> kazinsal: it's probably the remote thought control microchip
<geist> zid: basically. no real os, just firmware. boots up, tftps its image, logs into things remotely, speaks X only
<immibis> > tftps its image <- there's your OS
<geist> had a lot of those in the math department
<geist> no storage, limited ram. probably not a real multitasking OS
<geist> no local applications
<Ermine> heat: there are two more guys with one commit each
<geist> this was pre-flash (late 80s, early 90s) so you would have wanted to just load the current version of the firmware into ram at bootup
<sham1> geist: yeah, so a dumb terminal
<geist> yep, just speaks X
<immibis> what fun is stock firmware though
<immibis> you have to at least, like, program it to play bad apple upon bootup
netbsduser has quit [Remote host closed the connection]
<geist> yeah, exactly. might be interesting to see what sort of cpu it would have had
netbsduser has joined #osdev
<sham1> I've seen that meme everywhere but I have no idea what it is
<heat> SPARC
<geist> probably sophisticated enough to be based on an actual cpu, not TTL level stuff
<sham1> EMACS
<immibis> sham1: bad apple? it's a video that runs on everything, the video equivalent of doom
<geist> https://www.geekdot.com/ncd-x-terminal/ is a common one, says it's an 88100 cpu
<bslsk05> ​www.geekdot.com: NCD X-Terminal - GeekDot
<immibis> does this computer run doom === does this output device play bad apple
<sham1> Yeah but what and why
<geist> yeah i mean yo ucould probably play anything on an X term, just whether or not you can get the frame rate up
<immibis> sham1: mostly because it's a very clean black and white video, this allows you to play it on things like flip-dot displays, the boring type of LCDs, or laser projectors
<kazinsal> never fiddled with an 88k machine before, that's neat
<geist> rightk i have a copy that runs on my commander x16
<geist> 8mhz 6502
<immibis> my graphics calculator still plays bad apple because that was the last reason i touched it for - many years ago
<immibis> takes up like most of the free flash memory
<zid> now you've got me humming it you bastard
<nortti> likewise
<zid> oh god, this has a lot of range, I fucked up
<nortti> can't quite remember the lyrics though
<immibis> the lyrics are in japanese
<zid> There is 0 chance of me remembering japanese lyrics, I can barely remember people's names
<Ermine> milk first cereal second?
<Ermine> Uhhh
<immibis> if you don't speak japanese and you remember the lyrics, you have listened way too many times
<zid> chihiro, chiro, hichiro etc might as well all be the same person to me
<nortti> immibis: I speak some japanese, but yes I have also listened to it way too many times
<zid> 流れてく時の中ででも 気だるさが
<zid> start with that
<immibis> no fair, those are kanji
<immibis> well at least some of them
<geist> kazinsal: yah probably the only real way to get access to an 88k
<geist> in a way more interesting than some microcontroller
<zid> nagaretekutokinochuudedemokedarusaga
<zid> happy now?
<geist> similarly from that era, possibly an i960
* Ermine wants to learn chinese
<heat> Ermine, milk definitely goes first
<kazinsal> yeah it's probably either that or a big honkin MVME system
<heat> cereal first ppl are fucked up
<nortti> Ermine: mandarin, or?
<zid> something about languishing in the flow of time or something? idk
<zid> I can't grammar
<geist> looks like some NCDs on ebay for $100
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<immibis> did you know in japanese, unfamiliar kanji come with pronounciation guides written above them in small letters? I think I first saw this in a speedrun of Skyward Sword in Fi's textboxes and the odd arrangement of text certainly gives off a divine being vibe, like how terry pratchett wrote death's text in smalltext without quotes.
<immibis> smallcaps*
<geist> i do remember being kinda enamored with the whole remote thin X client thing. like having a single box with 30 people logged in still gives me some sort of warm feelings
<zid> <ruby> in html, btw
<nortti> oh yeah, furigana
<geist> i dont know why, that is a bygone era
<Ermine> nortti: I think yes, but I didn't think of details yet. It's long term thought
<nortti> you also have some works with all kanji marked as such
<zid> even adult stuff will furigana rarer kanji
<nortti> especially stuff aimed at children and I think newspapers
eddof13 has joined #osdev
<geist> having multiple people use a single box at the same time in an interactive way is still ❤️
<heat> geist, the gang bypasses multi user protections using deep flaws in CPU microarchitectures
<immibis> but can you do it with all i/o connected to the same box
eddof13 has quit [Client Quit]
<geist> sure i mean that's also again why it's a bygone era
<immibis> (without just stuffing 4 X terminals into that box)
<nortti> you quickly run out of places to plug that i/o though
<geist> but i think it's because i grew up with single tasking DOS boxes and whatnot, then when i got to college my world expanded since i was exposed to big unix and VMS boxes
<immibis> what is a personal computer these days but an HTML/JS terminal?
<geist> so they still set the bit in my head that it's mind blowing you can have multiple people on the same machine, feels 'correct'
<heat> UNIX!
<geist> to a certain extent we're mostly back to the single tasking dos box. it's just multiple tasks all for one user
<Ermine> Well, terminals/thin clients have its use cases right?
<geist> but it feels more correct, more efficient, for multiple people to use the same box. i dunno, just one of those good feelings for no real reason
<geist> probably the first time you get exposed to something new like that it foreever sears itself into your brain
<immibis> we are running multiple users on one box, except the box is called "google" and the clients are called "smartphones"
<geist> like the first game console you played, or first car you owned, etc
* samis is reminded of some good posts about exploring a sun ray laptop
<geist> yeah some guy recently did a youtube series on it, mostly just the details of setting them up
<geist> i saw a few on ebay for like $29
<geist> well sun ray thin clients, dunno about any laptops
<heat> omg omg omg SPARC laptops?!?!?!?
<geist> only one i've ever heard about was the tadpole
<geist> but i dont think that was suns
<kazinsal> I had a sparcbook 3gx some 20 years ago
<mjg> i recently learned had expansions cards for sparcstation
<kazinsal> it disappeared in a move at some point
<mjg> which came with a full blown x86 system
<bslsk05> ​oldvcr.blogspot.com: Old Vintage Computing Research: Cracking into the Sun Ray General Dynamics-Tadpole M1400
<bslsk05> ​oldvcr.blogspot.com: Old Vintage Computing Research: Of Sun Ray laptops, MIPS and getting root on them
<geist> mjg: yeah somewhere along the way i picked one of tose up. it's a K6 based PC on a card, somewhere
<heat> you have El GIMP and JSpider
<geist> never used it, needs a bunch of software to get it going
<geist> but made by sun, for sun machines
<mjg> there is a video of a guy playing with it
<mjg> perf sucks pretty bad unless you connect it to a dedicated monitor
<mjg> probably ok for office work
<geist> the notion of putting a card with another arch in your machine is not particuoarly new tough, there were apple 2 mac cards, x86 on amiga, etc
<mjg> x86 on amiga? :O
<mjg> heat: the year was 2006, young me had a solaris desktop for a brief period
<mjg> heat: it was slow af
<samis> or the lisp machines which you could obtain in the form of a card that goes into a mac or a sun box
<geist> yah i bought one of the blade 100 machines in 2000 and used it a bit
<geist> was pretty slow, ended up turning it into my mail server for a few years before retiring it
<sham1> samis: Symbolics my beloved
<heat> mjg, even young you could tell it was PESSIMAL
<sham1> Or was it someone else. Either way, Symbolics rocks
<mjg> heat: it was *visibly* slow
<heat> JSpider is sooo slow, must be mutex_enter
<mjg> heat: no need to measure squat
<samis> the one i mentioned was symbolics
<geist> mjg: what was it hardware wise?
<sham1> heat: you know what isn't slow? Windows and macOS because they do page file view stuff
* sham1 runs
<geist> early 2000s sun was trying to break into the cheap computer market, since they were seeing the writing on the wall
<mjg> geist: it was pentium 4 1.8 ghz + 256 MB ram
<mjg> geist: freebsd had no problem with it
<geist> oh... x86. yeah solaris on x86 is dumb
<heat> seriously made me think about implementing it just to see how much slower it is
<geist> was thinking you were running one of the low end sparcs they made at the time
<geist> ie, sparc IIe, etc
<mjg> :)
<mjg> at the time i would have wished for them
<mjg> to play around with
<heat> freebsd has always been speedy
<geist> yah i collected a few at the time, but never really did much with
<heat> you should've run netbsd though, i've heard that one runs anywhere!
<geist> hacked some start.S code for sparc a while back, but it actually seemed like the least fun risc machine to fiddle with
<mjg> i had netbsd as well
<geist> all annoying details, nothing interesting
<mjg> again for a very brief period
<mjg> i even had openbsd :A
<heat> the best period for using any BSD is "brief"
<geist> so yeah i generally just end up with netbsd on all my old sparcs
<mjg> i had a look at sparc asm, looks funny
<geist> oh early 2000s BSD was the bomb
<mjg> delay slots 'n shit
<geist> exactly, delay slots, rotating registers, etc
<mjg> my go to claim is that it looks like a failed attempt at creating a dick in ascii
Burgundy has joined #osdev
<geist> but then outside of that it's just bog standard risc
<samis> wait, sparc has delays slots? huh
<geist> the annoying thing about the window is it throws an exception that the os has to handle
<geist> i think i grokked it at one point, but it's complicated
<Ermine> ur binbows is not genuine
<mjg> what do you think about software TLB
<immibis> what if instruction sets would come with variable-sized delay slots: branch-but-run-the-next-N-instructions-first
<immibis> N is an immediate value
<samis> register windows have that 'sounds cool, actually isn't' vibe to them
<geist> samis: basically. lets you temporarily build a higher end impl in like 1983, then after that it's this useless albatross that you have to deal with forever
<geist> but i think the general principle in the 80s of these new fangled risc machines is you'd just redesign a new one every 5 eyars and recompile everything
<geist> so exposing details like this was not considered a problem
<mjg> :)
<geist> of course that was dumb and a mistake, and everyone figured it out
<nortti> < immibis> what if instruction sets would come with variable-sized delay slots: branch-but-run-the-next-N-instructions-first < immibis> N is an immediate value ← not quite that but ARM had a similar idea with BFX: https://community.arm.com/arm-research/b/articles/posts/making-helium-bringing-amdahl-s-law-to-heel
<bslsk05> ​community.arm.com: Making Helium: Bringing Amdahl's law to heel - Research Articles - Research Collaboration and Enablement - Arm Community
<samis> yeah, to make that work you'd really end up wanting a virtual ISA eventually so the periodic recompiles aren't that painful
<geist> kinda was that with the push for VLIW machines
<geist> side note i read some article the other day that reframed the whole push to VLIW in the late 90s (itanium, etc) as a way to avoid OOO designs
<geist> never thought of it that way but basically the whole point of itanium was not the VLIW
<geist> it was because VLIW let them build a very wide *in order* machine
<geist> and the idea was you could hypothetically get mega performance by not paying the out of order tax in transitors
<geist> if you of cours e just made it a software problem
<samis> i mean, wasn't that the intended point? to shift the burden from the CPU to the compiler?
<geist> yah it was i just hadn't thought about it from the in order vs out of order point of view
<samis> hence the absence of a sufficiently smart compiler(tm) sinking the whole thing
<mjg> i think it made *some* sense but it just did not work out
<nortti> didn't itanium end up having some out of order support though? or did the wider execution units rely on explicitly declared data dependencies?
<geist> nortti: i think so, later versions
* sham1 registers Ermine's Michaelsoft Binbows
<geist> from that point of view you can kinda see it as a way to avoid going down the Dark Path of OOO designs
<geist> which of course work great, but are a few orders of magnitude more complicated than in order stuff
<nortti> aye
<sham1> heat: no making fun of a cheap computer repair shop
<geist> was reading it in one of the https://chipsandcheese.com/ articles
<bslsk05> ​chipsandcheese.com: Chips and Cheese – The Devil is in the Details
<geist> great stuff, btw
<mjg> playing with the name of ms or any of their prooducts is so early 00s
<nortti> how did branches work on itanium actually? I don't think it had delay slots, so I guess it branch predicted?
<geist> there were the 'p' registers which i think you set and branches took that
<geist> probably some hints you could put for maybe take vs probabky not?
<heat> mjg, you mean M$
<geist> also i thinkg you could only have one jump per bundle, but that was enforced by the finite number of bundle combinations
<Ermine> Elbrus is VLIW. Interpreted and compiled to bytecode languages suck on it, but don't tell this to Elbrus fans
<mjg> heat: i mean windoze
<samis> Ermine: i mean, elbrus sucks in general no?
<samis> hence a russian bank trying and rejecting it.
<geist> also dont forget transmeta
benlyn has joined #osdev
<heat> no, is strong russian cpu
<heat> usa week russia strongggg
<Ermine> samis: stuff I mentioned sucks especially. That test caused a great shitstorm...
<geist> oh that's right, the elbrus. surprised as anyone else to see someone actually trying to use VLIW in todays day and age
<mjg> russian cpu is rated in liters of vodka
<mjg> not clock speed
<geist> but.... one thing is all those in order designs probably are not suceptible to 90% of modern speculation shit
<nortti> geist: I think the design has been worked on for a while now, like 00s at least
<nortti> *mid-00s
<Ermine> mjg: with its price you'd go for tons of vodka
<nortti> yeah, elbrus 2000 was released in 2005
<geist> ah that makes sense. a few years behind itanium
<heat> the fuck
<heat> elbrus 2000 in 2005?
<heat> elbrus 2018 in 2023?
<Ermine> nortti: afaik different generations of elbrus are not compatible with each other, so there's basically a family of isas sharing the same name. Afaik elbrus-16 is quite fresh one
<nortti> ah
<Ermine> if they released it, ya know...
<geist> it's hard to overstate how much an effect itanium had on the cpu market at the time. it was really going to take over the world, the hype was super real
<heat> :(
<geist> all these companies that owned their own arch all cancelled their stuff and prepared to switch to it
<heat> itaniuuuuuuuuuuuuuuuuuuuuuuum :(((
<geist> so makes sense that russia had to go design their own itanium competitor, come out with it a few years late
<nortti> geist: do you think itanium ended up cementing x86's market dominance through that?
<mjg> tytso claims LINUKKZZ ws genuinely worried they are going to get fucked
<mjg> instead intel gave them the itanium port
<Ermine> heat: the company behind elbrus also released SPARC processors earlier
<geist> nortti: good question maybe? but after a big of a back track there. remember AMD came out with x86-64 in 2003
<geist> and then it took quite a few years for intel to admit itanium wasn't the juggernaut and switch theirs to x86-64
<nortti> didn't the first amd64 pentium 4 cores come out pretty soon tho?
<geist> and though they had early designs in 2004 or so, it was quite a few years until a) server chips were big in x86-64, and b) windows ported to it
<geist> it took a while for the parts of the market that really mattered (ie, server stuff) to embrace it fully
<geist> i remember being frustrated personally that nothing really supported x86-64 except maybe linux for what seemed like a long time. eventually there was windows XP 64bit but it was kinda retracted later. vista i think may have had a 64bit port?
<geist> windows server eventually got 64bit x86, but it was some amount of time
<nortti> yeah, vista had amd64
<heat> you mean IA32e
<heat> or Intel 64?
<heat> or x64 or x86_64 or x86-64
<nortti> funnily enough you could not upgrade from amd64 xp to amd64 vista, because vista thought the XP install was 32-bit, from what I have rad
<nortti> heat: I'm running only amd processors
<samis> also the newest elbrus used tsmc fabs, which they probably don't have anymore, wonder if they've ported to a chinese version or are stuck on the domestic 90nm. Or maybe they finally got 65nm?
<geist> yah i think xp 64bit was kinda a dead end. was intended for workstations but had a lot of driver problems
<geist> the biggest issue being all those binary drivers that existed in the world needing to be recompiled and deal with 64bit pointers
<nortti> knew someone who ran it, but they were very much a power user
<geist> and there being a lot of trash code out there
<nortti> also adopted SATA before windows fully supported that
<heat> wouldnt power users naturally run itanium?
<heat> *ba dum tss*
<geist> iirc with vista or 7 they switched driver APIS again and that acted like a forcing function to rebuild everything as 64bit. i think.
<geist> something like that
<nortti> yeah I remember a lot about vista breaking ppl's hardware because it couldn't run the old drivers
<heat> are the windoze drivers ABI-stable?
<geist> yah WDM or something
<kazinsal> yeah
<geist> so i think the real end result was though AMD moved first and got x86-64 out there, they didn't really reap the benefits of it, because the windows world took years to catch up
<kazinsal> the vista driver issue was "new stable driver ABI, old one is deprecated, update your shit" and the driver vendors going "lol yeah sure boss we'll get right on that"
<geist> and by then intel had 64bbit across their line
<geist> so there was no real AMD exclusivity that they enjoyed
<geist> and this was really before linux was a juggernaut in the server world, or enough to make a substantial bottom line difference to either AMD or intel
<kazinsal> the windows x64 kernel showed up in server 2003 but it didn't take advantage of anything more than "moar ramz" until service pack 1 in 2005
<nortti> you'd still get benefit of larger registers and PC-relative addressing in use code, woulnd't you?
<kazinsal> by which point all Xeons were x64
<nortti> though I guess it took a while for that to be ported either
<geist> yah. i sitll have a place in my heart for AMD because in 2002/2003 when they were launching x86-64 they preemptively just mailed a box set of their manuals to anyone they thought might need it, for free
<geist> so one day i just got a set of manals on my doorstep
V has joined #osdev
MarchHare has joined #osdev
sebonirc has quit [Ping timeout: 246 seconds]
childlikempress has joined #osdev
moon-child has quit [Ping timeout: 260 seconds]
sebonirc has joined #osdev
orccoin has joined #osdev
V has quit [Ping timeout: 240 seconds]
<Ermine> geist: seems like you get stuff for free from time to time
V has joined #osdev
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
V has quit [Ping timeout: 244 seconds]
gog has joined #osdev
<gog> hi
ThinkT510 has quit [Quit: WeeChat 4.0.3]
<immibis> AIUI the principle until windows-ish was that all your software would be written or at least recompiled for your specific machine
<immibis> and that's why they weren't really thinking of ISA compatibility (except for IBM)
<immibis> (IBM stands for ISA Breaks Mever?)
<immibis> (or ISA Backwards Mpatible)
<nortti> intel did care about ISA compatibility, but only in the sense of "you can run your assembly through a translator and the resulting program will work about the same", for 8008 → 8080 → 8086
<immibis> yeah well that's a kind of recompiling
<zid> and the 8008 was almost compatible with that weird computer gedamo or someone posted here the other week
<immibis> datapoint 2200
<immibis> ?
<zid> yep
<zid> good memory
<zid> We've just been making successfuly more integrated system on a chip versions of the datapoint 2200 :p
<zid> successively*
<immibis> i wasn't reading gedamo's weird computer the other week. It's just that's what the 8008 was based on
<zid> good memory regardless
<zid> http://www.righto.com/2023/08/datapoint-to-8086.html was the article, ken's blog ofc
<bslsk05> ​www.righto.com: Tracing the roots of the 8086 instruction set to the Datapoint 2200 minicomputer
V has joined #osdev
ThinkT510 has joined #osdev
<immibis> oh that
<immibis> i did see that
<geist> Ermine: well, back in the day you could just request a doc set from both intel and amd
<geist> and they shipped em to you for free
<geist> a different era
<nortti> interestingly, I've been reading some of the computer history museum interviews with the teams behind 4004, 8008, 8080 and they did start charging for the manuals for 4004 and 8008 because they were so popular
<geist> yah the earliest one i got from intel directly was the 1996 pentium pro manual
<geist> though later on i got off ebay the 386 manual
<immibis> i'm sure they would've shipped them to you for free, but not to me for free
<geist> nah i as just a random college student
<geist> it was just some email or web form you filled out
<immibis> although that reminds me, when i was about 9 years old we had some letter-writing assignment in class, and i didn't know who to write it to, and for some reason I was suggested to write one to microsoft, and that got me a few free CDs including MSDN Library on two discs, so at least microsoft did ship MSDN to 9-year-olds for free
<geist> exactly
<immibis> man, remember when your documentation was on your own computer?
<geist> it was a different era. the good will was good business
<immibis> there needs to be an offline wikipedia project but for computer documentation
<geist> and as much as people poopoo on MSFT then and now they really really understood that good developer relations is important
<immibis> developers developers developers developers developers developers developers developers
<geist> yep. laugh as you must, that's good idea
<gog> hi
<geist> a gog!
* gog gogs
<gog> i had drinks with a new friend
<gog> she's v cool
<kof123> documentation on a computer was once referred to as "online" documentation, just to rub salt and lemon juice in the wound. on that note, there was a ren and stimpy with some jester type character doing this, wide-eyed, foaming at the mouth, as he rubs, just to set the proper tone here.
<kof123> this is just to say, the language has already looped around at least once "online"
<geist> also dont forget 'open'
<geist> ie, OpenVMS
<Ermine> Is casting uint64 to uint32 UB?
<immibis> no, it discards the excess bits
<Ermine> ok, nice
<immibis> actually, stackoverflow says maybe it is...
<geist> yeah i think in practice no, but according to the language lawyers? maybe?
<geist> but aint nobody got time for that
<nortti> pretty sure casting to unsigned is always defined
<gog> if it was signed then yes absolutely
<gog> unsigned
<gog> eehhh
<gog> it's not a great plan
<geist> but then if conditionally do it based on some previous comparison, etc it might be fine
* kazinsal pets gog
<immibis> Ermine: it's defined.
* gog prr
<immibis> "Otherwise, if the new type is unsigned, the value is converted by repeatedly adding or subtracting one more than the maximum value that can be represented in the new type until the value is in the range of the new type."
<immibis> (i am not sure which *version* of the standard I am looking at)
<nortti> pretty sure casting to a signed type is not UB either, I looked it up and for my use case (checking whether the value fits in it) the only tricky condition was that in some systems it might trap
<immibis> "Otherwise, the new type is signed and the value cannot be represented in it; either the result is implementation-defined or an implementation-defined signal is raised."
<gog> ah yes
<gog> UB's little brother, IDB
<immibis> however, casting FP to integer with overflow is UB
<nortti> inflammed dowel bisease
<gog> yes
<geist> qemu v8.1.0 released
<immibis> thanks qemu news bot
* gog pet geist
<gog> good bot
<geist> yay
<geist> 🤖
eddof13 has joined #osdev
<zid> I used to have a dog, but I spilled spot remover on him
<zid> now he's gone
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
eddof13 has joined #osdev
apokryptein has quit [Quit: Leaving]
Jari-- has joined #osdev
vdamewood has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
bgs has quit [Remote host closed the connection]
Ram-Z has quit [Ping timeout: 245 seconds]
zxrom has joined #osdev
heat has quit [Remote host closed the connection]
Ram-Z has joined #osdev
goliath has quit [Quit: SIGSEGV]
<zid> rip guys
* mjg <-- not an apple user
<mjg> dodged a bullet
Matt|home has quit [Killed (NickServ (GHOST command used by Matt|afh!~Matt@2601:580:c001:1650:4f1:bfd7:7455:f190))]
Matt|home has joined #osdev
Jari-- has quit [Ping timeout: 255 seconds]
wgrant has quit [Ping timeout: 258 seconds]
eddof13 has joined #osdev
wgrant has joined #osdev
eddof13 has quit [Client Quit]
heat has joined #osdev
<zid> yes
<childlikempress> at least my kernel is super scalable though
<childlikempress> it can scale to all of one core
<childlikempress> linearly!
wblue has joined #osdev
<zid> Yea I have no scaling issues either
<zid> My locking code is all O(0) and bug-free also
wblue has quit [Client Quit]
foudfou has quit [Remote host closed the connection]
foudfou has joined #osdev
Matt|home has quit [Quit: Leaving]
johanne has joined #osdev
<johanne> Hello, It is time for me to implement paged kernel heap. What are some good things to put in paged heap instead of non paged heap.
alexander has quit [Quit: ZNC 1.8.2+deb3.1 - https://znc.in]
<johanne> I have to be careful to not page fault when I am holding a spinlock, also I have to be careful to not page fault in the page fault handler. So there is some restrictions.
<johanne> What kind of things do Windows, Linux, macOS put in it.