<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
<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
<heat>
SPARC VS EMACS, MICROKERNEL VS VIM, SOLARIS VS MILK FIRST CEREAL SECOND
<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
<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
<mjg>
REGISTER WINDOW MOTHERF^W
<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
<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
<heat>
MICROSHAFT SHITBLOWS
<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
<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
<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
<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. 6.3.1.3.2
* 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…]
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
<heat>
ALL YOUR KERNELS FUCKING SUCK
<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.