<geist>
i wonder if this is the other half of the 64bit only x86 stuff. ie, by the time that's out this will be fairly standard and thus the old architecture is 'fixed'
guideX has joined #osdev
asarandi has quit [Quit: WeeChat 4.2.2]
asarandi has joined #osdev
Arthuria has quit [Ping timeout: 276 seconds]
<geist>
ah i see, the REX2 prefix mostly just supercedes REX and adds 1 more bit to encode up to 32 registers
<geist>
and seems like a simpler way to encode VEX if you dont need the extra bits
edr has quit [Quit: Leaving]
<Mondenkind>
ugh there was something i didn't like about rex2 but i forget what now
<Mondenkind>
this stuff came out like months and monthsa go
aethlas has quit [Quit: bye]
aethlas has joined #osdev
Gooberpatrol_66 has joined #osdev
Gooberpatrol66 has quit [Ping timeout: 276 seconds]
fedaykin has quit [Ping timeout: 265 seconds]
Arthuria has joined #osdev
fedaykin has joined #osdev
Arthuria has quit [Ping timeout: 265 seconds]
<geist>
maybe that i only lets you escape to legacy page 0 and 1
<geist>
ie, no prefix and prefix 0x0f
<geist>
whereas VEX3 lets you get to a lot more
Arthuria has joined #osdev
Arthuria has quit [Ping timeout: 252 seconds]
Arthuria has joined #osdev
Arthuria has quit [Ping timeout: 248 seconds]
sbalmos has quit [Ping timeout: 245 seconds]
eluks has quit [Remote host closed the connection]
eluks has joined #osdev
<kof673>
depends what you are doing. if you want jittish...then time from self-host compile to boot :D
<kof673>
that is, same thing can be said about compile time. does it matter?
<kof673>
or, you might not even care about boot, just time to fire up a "VM" or similar
<kof673>
i am not advocating that, but i think the general "bias" is assuming compile time is a separate step, performed elsewhere, the user only will see the run-time
steelswords94 has quit [Read error: Connection reset by peer]
steelswords94 has joined #osdev
Oxymoron290 has quit [Ping timeout: 252 seconds]
sbalmos has joined #osdev
goliath has joined #osdev
Dead_Bush_Sanpai has quit [Read error: Connection reset by peer]
Dead_Bush_Sanpai has joined #osdev
xenos1984 has quit [Quit: Leaving.]
Fingel has quit [Quit: Fingel]
spare has joined #osdev
vdamewood has joined #osdev
jedesa has quit [Remote host closed the connection]
aethlas has quit [Read error: Connection reset by peer]
aethlas has joined #osdev
netbsduser has joined #osdev
emntn has quit [Quit: WeeChat 4.3.4]
steelswords94 has quit [Read error: Connection reset by peer]
<geist>
some of the ideas ended up in 286 hence the whole GDT/LDT style handle to memory object stuff
<geist>
would be neat to get ahold of one
<nikolar>
i kind of want to write an emulator since none exist apparently
<nikolar>
the hardware is also uonbtanium
<geist>
yeah
<geist>
they sold some of them but i'm sure they're mostly part of some undocumented dev kit or whatnot
<nikolar>
i think there was a single line of commercially available computers that used them
<nikolar>
so there is hardware out there
<nikolar>
(unless it was destroyed lol)
<geist>
oh wow: "The iAPX 432 instructions have variable length, between 6 and 321 bits.[17] Unusually, they are not byte-aligned, that is, they may contain odd numbers of bits and directly follow each other without regard to byte boundaries.[5]"
<geist>
that i hadn't read before. oh my
<nikolar>
it's great :)
<nikolar>
did you read the whole "sillicon os" thing
<nikolar>
where the hardware can do scheduling and waiting on ipc and such
<geist>
yeah, not *entirely* unique, there were some pretty strange microcoded designs at the time, like the xerox alto
<geist>
but yeah
<nikolar>
or the hardware memory management (allocation and garbage collection)
<geist>
yeah now that's odd. and it mentions that one of the major problems was a lack of a good cache for that
<geist>
imagine taking something like the GDT where every data reference is a new segment
<geist>
and then imagine having no on chip cache for that
<geist>
so slow
<geist>
or i guess more correctly, everything is a far pointer
<nikolar>
they just didn't have the transistor budget lol
<geist>
at least in 286 you can cache a GDT lookup by going through a segment register which only takes the hit when you load it with something new
<nikolar>
they already had to split the basic cpu into 2 dies
<nikolar>
yeah
<geist>
i've always been a bit more fond of the 3b2 machines, and the WE32000 in it
<heat>
rh patents IIRC are also all licensed to GPL
<nikolar>
so can you or can you not take the code lol
<nikolar>
who wins, the license or the patent
<heat>
for RCU it's pretty clear and simple - as long as your impl or code or fork is GPL, you're okay
<clever>
looks like the biggest feature extfat adds, is for large unfragmented files
<heat>
checking if your project is "Linux" must be either pretty legally dubious or legally well-defined and programmingly-dumb
<clever>
you just specify a single starting cluster and length, and then skip the FAT
<heat>
like, if i check out the linux source and add patches. is it linux? at what point is it not linux?
<clever>
ext4 has a more flexible version of that, where you can specify multiple triplets, of file block#, disk block#, size
<heat>
is it not linux if i s/linux/dumbix/
<clever>
and then the indirect tree has file block#, size, and disk block# of a list of the above
<heat>
there's no indirect tree in ext4 extents
<clever>
both exfat and ext4 versions, avoid the overhead of using 32bits for every cluster
<Ermine>
that's the moment when consulting the lawyer would be better
<clever>
heat: i believe there is, the extent list cant exceed a block in size, and then you have another extent list, pointing to extent lists
<heat>
well that's not an indirect tree
<heat>
indirect tree is blockmap speak
<clever>
where each extent one level up, covers the entire span of the set of extents it points to
<clever>
yeah, its the same general use, but it you cant just index by block#
<heat>
rather the ext4 extents tree just calls them nodes or tail nodes
<heat>
sorry, leaf
<clever>
zfs has a more traditional indirect tree, where the leaf nodes each point to a 128kb record (default size, variable)
<clever>
and then each layer up, points to a list of those pointers
<netbsduser>
i think some people have started picking up RCU now that the patents are expiring
<netbsduser>
there is a new patent for everyone single letter someone changes in a comment, of course
<clever>
the special thing with zfs, is that if a file is only 1 record long, that "128kb record length" part can change, up to a limit set on the filesystem
<clever>
so tiny files can be stored in 4kb blocks, and as they grow, so to does the block size, until its using 128kb blocks
<clever>
and if the system admin allows, it could grow to 1mb blocks
<netbsduser>
clever: this is the trick of ZFS cow snapshots, iirc
<heat>
netbsduser, too late, other systems already suck
<heat>
rcu patents were probably super handy in giving linux a real advantage
npc has joined #osdev
<clever>
netbsduser: the trick of snapshots, is more about adjusting what the garbage collector can do
<netbsduser>
perhaps someone will come along and patent something even more powerful
<netbsduser>
then where will linux be
<clever>
basically nothing in zfs gets modified in-place
<netbsduser>
stuck in antarctica
<clever>
everything gets re-created at a new place in the disk
<heat>
and in any case afaik you can trivially run into the patents when implementing certain optimizations/features. e.g preempt RCU (srcu maybe?), RCU interaction with idle cpus, etc
<Ermine>
but now RCU will be in c++
<heat>
the API will be, yeah
<clever>
so a snapshot, is just saving a duplicate copy of the entire dataset (metadata+data) and not letting the garbage collector eat it
<heat>
netbsduser, who?
<clever>
if a block isnt modified, then the snapshot and live dataset can share it
<netbsduser>
it goes to show what a load of nonsense software patents are that you can so trivially accidentally infringe on one
_ngn has joined #osdev
<heat>
right
<Ermine>
font rendering stuff is trickier afaik
<clever>
but another trick zfs has up its sleeve is transparent compression
<netbsduser>
clever: i had read somewhere that the pure cow nature is also a help, but i swear i did see some zfs guy saying he couldn't figure out how you'd do efficient snapshots when extents are variably-sized within-inode
<clever>
those 128kb records, are pre-compression sizes, and it will compress each record, and store the compressed version
<heat>
fyi all the ideas behind solaris vm2 are stuck in your metaphorical antartica
<clever>
netbsduser: for a single inode, every record must be the same size
<netbsduser>
heat: perhaps micro$oft or app£e
<clever>
the size can only vary between different inodes
<netbsduser>
clever: yes, the zfs distinction
<heat>
there's an actual writeup about vm2 that only oracle people can see
<Ermine>
oracles
<netbsduser>
i think bonwick had a hand in it, zfs has some concept of slabs also
<heat>
it's not a bonwick feature if it doesn't have GUNS WEAPONS BULLET MAGAZINE PEW PEW YEEHAW
<clever>
netbsduser: this says that each metaslab is 1<<32 bytes in size (4gig) on this disk
<clever>
and certain metadata, like the free space map, is stored by metaslab
<netbsduser>
i would have loved to have seen what solaris would've done to claw back scalability wins against linux if only it were still on the go
<heat>
(least gun nut american)
<clever>
so you dont have to load the entire spacemap at once, and you can modify different metaslabs concurrently
<heat>
netbsduser, i don't think they could do anything
<heat>
foss is crazy
<clever>
ext2/3/4 i believe just has a dump bit map, 1 bit per block?
<netbsduser>
i think they could
<heat>
your 10-20 person kernel team can't compete with literal hundreds
<clever>
zfs uses a journal on disk, its purely a log of block#+size+(free|alloc) triplets
<netbsduser>
they are disciplined and have an engineering ethos
Left_Turn has quit [Remote host closed the connection]
<clever>
so any time you allocate or free, you just append to the log, no need to modify the entire thing
<heat>
SUN ENGINEERING ETHOS
<clever>
and that log, is also an inode, so it gets stored like any other file, and is entirely CoW'd
<netbsduser>
no surprise almost everything good in linux is grafted in from commercial unix
Left_Turn has joined #osdev
<Ermine>
SUS MICROSYSTEMS
<heat>
lol
<heat>
now that's a statement and a half
<clever>
when the log gets too big, zfs will compact it, deleting redundant elements, and merging concesutive elements
<netbsduser>
even RCU
<Ermine>
strong statement
<heat>
RCU as in dynix was a play thing
<Ermine>
I won't check it ofc
<heat>
XFS in linux has changed beyond recognition (only thing recognizable atm is the code style and kmem_alloc() wrappers)
<netbsduser>
Ermine: well it's true, and in general the FOSS unixes were playing catch-up to the commercial ones for years
<clever>
heat: last time i used xfs heavily, i was surprised by the fact that the journal is stored in native byte order, and journal replay lacks the ability to byte-swap
<Ermine>
lmao
<clever>
so when my big-endian machine crashed, x86 had zero way to replay the journal
<heat>
It's the SGI Engineering Ethos
<heat>
proprietary software is ROBUST
<clever>
zfs also has a trick for this, store all records in native byte order, and include a magic# in the record
<netbsduser>
the shadow cast by the setting sun is all over especially freebsd's approach to smp (if you see a mutex type which conflates both spinning-only and adaptive-spinning-or-sleeping in one interface, it's copied from solaris)
<clever>
if the magic# is backwards on read, byte-swap the fields
<Ermine>
don't forget BSD engineering ethos!
<clever>
so all records get the native byte order perf boost, but it can dynamically adapt and read records from the "wrong" byte order
<netbsduser>
in general i think the free unixes suffered in the 90s from being targeted at home desktops and web servers before the web became serious
<heat>
i literally can't think of anything else (that's actually good) in linux that came from proprietary unix
<heat>
linux doesn't even use SLAB anymore
<netbsduser>
that's why they were all giant-locked while the commercial ones were running on their exciting big numa stuff
<clever>
heat: then why does `slabtop` show things?
<heat>
it's SLUB
<clever>
how is that different? other then the typo!
<Ermine>
alias slabtop=slubtop
<heat>
it has generally been SLUB you're using for... probably 12 years
<netbsduser>
the concept stays, they cache objects in a preinitialised state
<heat>
SLUB drastically cuts down on SLAB's object queueing
<heat>
>in a preinitialised state
<heat>
no
<heat>
you have barely any slab ctors anymore, no dtors (feature was completely removed)
<heat>
it's an allocator, the caching is completely nonexistent
goliath has quit [Quit: SIGSEGV]
<netbsduser>
caching is the whole point of them
<heat>
meanwhile solaris went crackpot caching and even adding object moving
Left_Turn has quit [Ping timeout: 265 seconds]
<clever>
netbsduser: i thought the point of a slab was to manage heap fragmentation
<netbsduser>
clever: there's a few like that that densely-pack objects in zones already
<heat>
slab is a nice compact design
<netbsduser>
the mach "zone" allocator did it iirc
<heat>
it ended up not actually being useful as a caching thing, so they ripped it out
<netbsduser>
in general the open source desktop stack just seems to be in a state of disrepair - the gradual loss of accessibility is especially damning
<heat>
they keep getting ceasefire orders but sadly libreoffice can't open their .docx too well :/
<nikolar>
all .docx i've tried to open were fine
<netbsduser>
as i think surely by now you must be liable for disability discrimination if you're selling certain software and it's not accessible
<heat>
netbsduser, otoh, the open source desktop stack is better than ever, with chrome
<heat>
most of the things the linux neckbeards complained they couldn't do before, they can now, with a web browser
<netbsduser>
heat: well, you really do only need a browser these days
<netbsduser>
and you don't even need a weird wine wrapper for Macromedia ShockWave! Flash Player
craigo has joined #osdev
<heat>
i don't think it's a coincidence that the most functional desktop experience on linux is chromeos
<kof673>
> they can now, with a web browser sure, but can be argued that is why the rest is crumbling
<netbsduser>
that's just the way things seem to be now
<kof673>
(not saying either way, i do not follow modern stuff, just was said)
<the_oz>
what's the nearest competitor? Steam OS?
<netbsduser>
for better or for worse the browser is the OS now
<the_oz>
Across platform competitor? OS X? :D
<nikolar>
heat: i don't think chrome works any better on chrome os than any other linux
<heat>
well the point is that it pretty much IS the os
<netbsduser>
the biggest shame is that (as serenity os showed) you can't build a web browser that can browse any but the most basic sites without dozens of manyears of effort
<nikolar>
heat: so you can do on regular distros everything you can do on chrome os plus more stuff
<nikolar>
netbsduser: indede
<nikolar>
it's a crazy effort
<heat>
on chromeos my screen doesnt have a stroke from time to time
<netbsduser>
serenityos incidentally, the instigator of that particular project has resigned
<heat>
on chromeos i may actually be able to connect my bluetooth airpods
<netbsduser>
founder? lead? i don't want to say instigator, it makes it sound like i'm describing a crime against humanity
<heat>
on chromeos you can edit docs and browse the web and play android games and ..., no problem, no technical expertise needed
<nikolar>
heat: my screen doesn't have strokes
<GeDaMo>
He moved to working on the Ladybird browser
<nikolar>
though bluetooth sucks, i'll give you taht
<heat>
mine does from time to time
<nikolar>
what did you do to it
<heat>
nothing
<nikolar>
are you on amd gpus
<netbsduser>
bluetooth on linux was long a sore point
<heat>
i think its the kde compositor being bad
<nikolar>
netbsduser: still is
<nikolar>
apparently it's getting better, but i don't care for bluetooth too much so meh
<netbsduser>
it was such a hassle to transfer songs to my sony ericsson walkman flip-phone back in the day
<nikolar>
heat: ah maybe, haven't run kde in forever
<the_oz>
my dad bought a xune and sent his entire discography on it
<the_oz>
sent it to me, I opened it up and signed on using my account and the goddamned thing deleted everything
Dead_Bush_Sanpai has quit [Remote host closed the connection]
<Ermine>
airpods work for me on linux
Dead_Bush_Sanpai has joined #osdev
<nikolar>
Ermine: i just meant that bluetooth is a pain in general
<Ermine>
nikolar: it works fine anywhere but on linux desktop
<nikolar>
it didn't work right on windows while i was still using that
<nikolar>
it just sucks
<kof673>
> signed on using my account and the goddamned thing deleted everything yes people might get fed up with the web :D
<Ermine>
it was worked for me on windows when I had to fiddle with PW/WP/PA configs on linux
<heat>
it's not perfect on windows but IME it works better
<heat>
android bluetooth works well though.
<nikolar>
yeah probably the best bluetooth experience has been on the phones
<nikolar>
for example, my bluetooth buds' battery just drained very quickly when i used them with my laptop for some reason
Dead_Bush_Sanpai has quit [Read error: Connection reset by peer]
Dead_Bush_Sanpai has joined #osdev
Dead_Bush_Sanpai has quit [Ping timeout: 272 seconds]
Dead_Bush_Sanpai has joined #osdev
Dead_Bush_Sanpai has quit [Read error: Connection reset by peer]
Dead_Bush_Sanpai has joined #osdev
Oxymoron290 has joined #osdev
Gooberpatrol_66 has quit [Quit: Konversation terminated!]
Gooberpatrol_66 has joined #osdev
youcai has joined #osdev
Fingel has joined #osdev
Dead_Bush_Sanpai has quit [Remote host closed the connection]
Dead_Bush_Sanpai has joined #osdev
<the_oz>
it's antihuman, kof673
Dead_Bush_Sanpa1 has joined #osdev
<the_oz>
extends IP law to the point where a retarded exec sticks their fingers into your ear
Dead_Bush_Sanpai has quit [Read error: Connection reset by peer]
<the_oz>
if ever you needed a signifier how much they hate you more than they like money, there ya go
Dead_Bush_Sanpa1 is now known as Dead_Bush_Sanpai
<kof673>
preaching to the dodo bird :D good thing us crazy americans still have state militia according to heat <checks clipboard, gone in 1860s with the new feds only amendment>
levitating has quit [Ping timeout: 246 seconds]
<kof673>
jobs said the desktop war was over when next got purchased IIRC
<kof673>
not that that should be held up, but that was his take at the time
<the_oz>
I too consider myself god's gift to computing
<the_oz>
stop laughing
<kof673>
i've said before, not that i am doing anything shady, i would like to see an os + userland etc. just use signed keys and keep it all "anonymous". then let people decide what code they trust or not. corps may not touch it, but ...
<kof673>
as soon as there is an account somewhere, it can be shut off
<kof673>
*keys to sign
<the_oz>
wouldn't just being able to set root key be enough?
<the_oz>
so that you control the heirarchy of defaults but easily set to whatever heirarchy they'd rather
<the_oz>
then from there downwards depends on policy from there
xenos1984 has quit [Ping timeout: 248 seconds]
<the_oz>
the alternatives to say DNS have been pretty shitty for example
xenos1984 has joined #osdev
Dead_Bush_Sanpai has quit [Read error: Connection reset by peer]
Dead_Bush_Sanpai has joined #osdev
Left_Turn has joined #osdev
Left_Turn has quit [Ping timeout: 252 seconds]
Dead_Bush_Sanpai has quit [Read error: Connection reset by peer]
Dead_Bush_Sanpa1 has joined #osdev
Dead_Bush_Sanpa1 is now known as Dead_Bush_Sanpai
Dead_Bush_Sanpai has quit [Read error: Connection reset by peer]
Dead_Bush_Sanpai has joined #osdev
steelswords94 has quit [Read error: Connection reset by peer]
steelswords94 has joined #osdev
Dead_Bush_Sanpai has quit [Read error: Connection reset by peer]
Dead_Bush_Sanpai has joined #osdev
Dead_Bush_Sanpai has quit [Read error: Connection reset by peer]
Dead_Bush_Sanpai has joined #osdev
Dead_Bush_Sanpai has quit [Read error: Connection reset by peer]
Dead_Bush_Sanpai has joined #osdev
Dead_Bush_Sanpai has quit [Read error: Connection reset by peer]
Dead_Bush_Sanpai has joined #osdev
Dead_Bush_Sanpai has quit [Read error: Connection reset by peer]
Dead_Bush_Sanpai has joined #osdev
Dead_Bush_Sanpai has quit [Read error: Connection reset by peer]
Dead_Bush_Sanpai has joined #osdev
Dead_Bush_Sanpai has quit [Read error: Connection reset by peer]
Dead_Bush_Sanpai has joined #osdev
goliath has joined #osdev
netbsduser has quit [Ping timeout: 272 seconds]
gog has joined #osdev
netbsduser has joined #osdev
xenos1984 has quit [Ping timeout: 246 seconds]
xenos1984 has joined #osdev
steelswords94 has quit [Read error: Connection reset by peer]
steelswords94 has joined #osdev
Fingel has quit [Quit: Fingel]
Fingel has joined #osdev
<kof673>
the_oz, i just mean people can still identify themselves and build up a reputation for code if they want, or not. anything else...anything goes, decide who to trust :D
<kof673>
and then, in theory, if there is ever any situation it goes to some legal jurisdiction anywhere...either the owner of the key can step forward to prove they wrote something, or not.
<kof673>
but there won't be any requirement you sign code over to any legal entity
<the_oz>
How do you plan to deal with entanglement?
<GeDaMo>
Scissors :|
<the_oz>
not that signing code over to legal entities does, but it'd be hairier to have the raw truth of a b c d e f and with bad actor f on project 1
<the_oz>
but f isn't found out until long enough cover established with commits everywhere
<kof673>
that's what i mean, people are on their own lol which is why no corp will touch it lol
<kof673>
and you might have some key that declares something public domain or whatever, but no name lol
<the_oz>
Imperium of man did craft single-liners to counteract the hash wars
<the_oz>
There is no currency, only amalgamations of hashes tied to formless aeons of programmers whose meaning is lost to time and yet their creations somehow did compute haphazardly
<zid`>
paper!
<zid`>
fuck.
<nikolar>
scissors!
<heat>
scissars
<kof673>
have you ate yet gog?
<gog>
kof673: today?
<gog>
no
* kof673
gives gog star fox snes phoenix egg > Destroying the second large asteroid (the one on the right) a hidden egg should come out of its inside. It will fly away for a few seconds, then it will hatch into a giant Phoenix-like bird. By flying directly into the bird, the Mission will enter the Dimension. > fly into the claws of the bird
<kof673>
"argonaut software" lol
<gog>
lmao
<heat>
gog, eat my shorts
<gog>
ok
<heat>
no gog do not shorts noooo do not it's a poor decision gog you'll regret it it was just a 90s reference to a beloved cartoon
* Ermine
gives gog a piece of cheese
* gog
is fascinated
<zid`>
my purple is not purple enough on this monitor
<nikolar>
get a better monitor
<Ermine>
heat: run while gog is fascinated
<zid`>
I think it's actually not bad
<zid`>
the panel, that is
<zid`>
the monitor itself is pretty crappy, the backlight situation and the bezel and stuff
<Ermine>
nikolar: the nerdy way would be to make an icc profile
<nikolar>
lol sure
<zid`>
I know a colourimitrist
<zid`>
maybe I can borrow his calibraterer
<nikolar>
yeah borrow his calibratortotr
<heat>
the nerdy way would be to finally add hdr support to the linux desktop stack
<nikolar>
heat: that's actually happening
<nikolar>
apparently
<nikolar>
also valve did add it, but only for games :P
<zid`>
HDR is easy, just make an opengl context with a 10bit format
<zid`>
or 32bit if you're feeling especially fancy
<zid`>
and then have the gpu reject it, done
<zid`>
if(context)
<zid`>
/* Idk, I didn't expect to get this far */
<zid`>
return NULL;
<nikolar>
lol
<Ermine>
just use vulkan duh
_ngn has quit [Ping timeout: 260 seconds]
elderK has joined #osdev
<zid`>
Annoyingly, the gl on my wsl2 has weird format lists
<zid`>
GLX VISUALS as glxinfo calls it
<zid`>
like max of 4x aa
<zid`>
I have no idea why there's AA at all, if not 16x support, it just.. doesn't bother to export that
zenomat has joined #osdev
<heat>
woah
<nikolar>
haow
<heat>
TIL you can do typedefs of function signatures in C
<zid`>
ofc you can?
<zid`>
winapi uses them a lot
<nikolar>
heat: i thought you programmed your os in c :P
<heat>
i dont look at winapi headers
<heat>
nikolar, i dont use obscure features
<nikolar>
that's not at all obsucre
<heat>
oh yeah?
<kof673>
it is common for say qsort and such, "callbacks"
<nikolar>
i am pretty sure some man pages even typedef stuff