<bslsk05>
'Frankie Boyle American Foreign Policy' by Will LizZard (00:00:38)
<kof123>
eh, you can probably find details of who gets to "supervise" movies anyways.....
<mjg>
heat: btw to my understanding JOCKO and GOGGINS have a beef
<mjg>
:d
<mjg>
i'm team goggins though!
<mjg>
cause i STAY HARD
<zid>
"American foreign policy is horrendous, because not only will they come to your country and kill all your people, but in 20 years they will come back, and make a movie about how killing your people made their soldiers fweel wewwy sadd :'("
<nikolapdp>
yeah
<gog>
i really, really, really wish and know it won't happen that george w. bush and donald rumsfeld and colin powell and condoleeza rice all get tried for war crime
<heat>
you forgot cock chenney
<zid>
he dead
<heat>
no he's not
<gog>
no i just hope he fucking dies
<gog>
it's too good for him but he needs to go
<mjg>
do you miss kissinger
<gog>
hahahahahahah
<zid>
oh you mean dick cheney, cock chenny is already dead
<gog>
yeah i cry a tear
<mjg>
i can shed one from the other eye
<zid>
kissenger died without consequence, people were even sucking the dick of his legacy
<zid>
good job, earth
<gog>
we done fucked up seriously
<nikolapdp>
yeah
<mjg>
henry was like an uncle to me
SunClonus has joined #osdev
<mjg>
:sadface:
<CompanionCube>
gog: and also blair
<gog>
every head of state and government that was complicit'
<heat>
mjg: dick sites was like an uncle to me
<mjg>
last comment before i turn in
<mjg>
someone on the interwebz says he started running thanks to goggins
<gog>
hi
<heat>
seriously there's no way someone is named dick sites
<mjg>
and if he feels like he can't finish the distance he hears goggins calling him a bitch
<zid>
He's just braver than you heat
<zid>
If anything he CHOSE to be named dick sites, because his name is actually richar
<heat>
at some point he must've realized the wrong thing turned up when googling his name
<zid>
are you sure someone named 'dick' knows how to disable safe search
<mjg>
maybe if it was dick sightings?
SunClonus has quit [Remote host closed the connection]
* CompanionCube
is reminded of Pick, the OS named after developer Dick Pick
solaare has joined #osdev
* zid
is remindd of dick, the OS named after developer pick dick
<zid>
I will never understand richards btw, they get to pick between being called "Rich", as in "wealthy" and "Dick" as in "penis"
<zid>
and choose penis
<bl4ckb0ne>
penisOS when zid
<nikolapdp>
when you make it
<zid>
richOS for me
* bl4ckb0ne
forks onyx
<heat>
what's the fork for?
<heat>
are you just going to rename it penisOS
<heat>
because i don't support camel case
<zid>
can you fork onyx and fix the keyboard support
<heat>
nor do I support OS names ending in OS
<zid>
It doesn't support HID
<heat>
the keyboard support is JUST FINE, you just have the wrong keyboard
<zid>
No, it doesn't support HID. It supports ID only.
<zid>
The H is replaced with G for goose
<heat>
seriously though, i have no idea what solution existing unices use for keyboard layouts
<heat>
ideally i'd adopt one of em and just support every keyboard layout, ez
<heat>
cuz i have no interest in wiring up keyboard layouts
<heat>
my current solution is basically "key A prints string X, string Y when shift is also pressed, string Z when ctrl is also pressed"
<heat>
the whole LAN shit the bed, even the router lost connectivity
<heat>
its DNS server was returning errors for every lookup
<heat>
nothing a quick unplug - plug wouldn't fix
<zid>
nice
<zid>
anyway, find out what the fuck a translation table vs keycode table is
<heat>
maybe one of these days
<heat>
i still have a whole subsystem to merge
<zid>
I should make a VM that has just a kernel
dra has quit [Ping timeout: 260 seconds]
<zid>
and play around with bin/init
<heat>
do it
<heat>
init is fun
<heat>
the initial state is annoyingly unspecified
<heat>
but the linux stuff AFAIK mostly boils down to "stdout/in/err point to /dev/console, and you're unkillable, good luck"
<heat>
they point to /dev/console without it being mounted, that is
SunClonus has joined #osdev
<zid>
Were you expecting me to fork? pfft.
<zid>
Just write a weird TEST PROGRAM
<zid>
that can use every ioctl and syscall
<zid>
like you would on a bbc micro or whatever
<heat>
you mean /bin/python as init?
<zid>
linux kernel REPL
<zid>
make /bin/init a webserver that provides access to every syscall via checkboxes
<zid>
and typing numbers in
<heat>
sounds like cpython with extra steps ngl
<zid>
with a nice little sidepanel for all the open files
<zid>
and you can click them and do ioctls on them
<heat>
btw if you wanted a real linux kernel REPL you'd write it all in a kernel module
<heat>
maybe linux kernel APIs as REST
<heat>
GET /kmalloc?size=40&gfp=GFP_KERNEL
netbsduser` has quit [Ping timeout: 268 seconds]
heat has quit [Ping timeout: 272 seconds]
SunClonus has quit [Quit: Leaving]
SunClonus has joined #osdev
gorgonical has joined #osdev
<gorgonical>
anyone here have experience with the make a lisp project (mal)?
Matt|home has quit [Quit: Leaving]
gog has quit [Ping timeout: 264 seconds]
netbsduser` has joined #osdev
vdamewood has quit [Quit: Life beckons]
hirigaray has quit [Remote host closed the connection]
SunClonus has quit [Quit: Leaving]
lentement has joined #osdev
navi has quit [Quit: WeeChat 4.1.2]
lentement has quit [Ping timeout: 264 seconds]
<zid>
heat if you're not going to ttydive you could at least stick the tea on
netbsduser` has quit [Ping timeout: 260 seconds]
gbowne1 has quit [Quit: Leaving]
DrPatater has quit [Quit: Explodes into a thousand pieces]
gildasio has quit [Ping timeout: 255 seconds]
DrPatater has joined #osdev
netbsduser` has joined #osdev
gildasio has joined #osdev
lentement has joined #osdev
lentement has quit [Ping timeout: 268 seconds]
netbsduser` has quit [Ping timeout: 264 seconds]
ramenu__ has quit [Ping timeout: 264 seconds]
Arthuria has joined #osdev
lanodan has quit [Ping timeout: 240 seconds]
lanodan has joined #osdev
Arthuria has quit [Ping timeout: 268 seconds]
carbonfiber has joined #osdev
netbsduser` has joined #osdev
rustyy has joined #osdev
TkTech has quit [Read error: Connection reset by peer]
netbsduser` has quit [Ping timeout: 264 seconds]
TkTech has joined #osdev
liana has joined #osdev
Shaddox404 has joined #osdev
Shaddox404 has quit [Client Quit]
netbsduser` has joined #osdev
lentement has joined #osdev
lentement has quit [Ping timeout: 268 seconds]
liana has quit [Quit: liana]
netbsduser` has quit [Ping timeout: 264 seconds]
sbalmos has quit [Ping timeout: 260 seconds]
netbsduser` has joined #osdev
sbalmos has joined #osdev
netbsduser` has quit [Ping timeout: 252 seconds]
goliath has joined #osdev
carbonfiber has quit [Quit: Connection closed for inactivity]
netbsduser` has joined #osdev
lentement has joined #osdev
lentement has quit [Ping timeout: 272 seconds]
netbsduser` has quit [Ping timeout: 256 seconds]
lentement has joined #osdev
vdamewood has joined #osdev
<nikolar>
gorgonical I have some experience with lisps, not with mal in particular though
lentement has quit [Ping timeout: 255 seconds]
<zid>
nikolapdp: Is that a statement about how bad your english pronunciation is?
<nikolar>
My English isn't perfect but I definitely don't speak with a lisp zid
<vdamewood>
nikolar: Not even a cool one like Scheme?
<nikolar>
I do speak with a scheme yes
<vdamewood>
Excelent.
<nikolar>
Indeed
Nixkernal has joined #osdev
netbsduser` has joined #osdev
gog has joined #osdev
zxrom has joined #osdev
lentement has joined #osdev
netbsduser` has quit [Ping timeout: 264 seconds]
lentement has quit [Ping timeout: 272 seconds]
<zid>
I speak with a cunning plot
netbsduser` has joined #osdev
GeDaMo has joined #osdev
heat has joined #osdev
netbsduser` has quit [Ping timeout: 264 seconds]
<Cindy>
nikolapdp: remember that "unused functions" warning i had yesterday?
<Cindy>
well it was because of an off-by-one mistake in my script
<Cindy>
whoops ^^;
vdamewood has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<nikolapdp>
got to D
<nikolapdp>
got to love that
netbsduser` has joined #osdev
<zid>
Tapas time
bnchs__ has joined #osdev
Cindy has quit [Killed (NickServ (GHOST command used by bnchs__))]
bnchs__ is now known as Cindy
netbsduser` has quit [Ping timeout: 268 seconds]
GeDaMo has quit [Ping timeout: 264 seconds]
Ellenor has quit [Ping timeout: 255 seconds]
netbsduser` has joined #osdev
GeDaMo has joined #osdev
<zid>
Geddermo what weird web puzzle games are we playing lately
<GeDaMo>
Actually, I'm mostly playing 0AD at the moment
<zid>
That sounds 2000 years out of date
<GeDaMo>
I'm not very good at RTSs though :P
<GeDaMo>
Apparently it was originally an Age of Empires mod
<zid>
I've never played much aoe, looks sorta hard to learn but good
<zid>
I was pretty decent at starcraft 2 when it came out
<GeDaMo>
I can beat the AI on very easy but I'm struggling a bit at easy :|
<heat>
0AD is a GPL video game
<heat>
stallman sanctioned
<zid>
oh dear ged
<heat>
"The game is cross-platform, playable on Windows, macOS, Linux, FreeBSD, and OpenBSD"
<heat>
oh my god it supports not only FreeBSD but OPENBSD
<zid>
does it have p2p p2p
<zid>
p2p pvp
<heat>
yes
<zid>
think I can beat GeDaMo despite having never heard of it?
<heat>
well, i don't know about pvp, but it has multiplayer
<heat>
i played it like once like 7 years ago
<GeDaMo>
You can have 4 players on a map
<heat>
if it had servers i would entirely expect the server software to be GNU affero licensed
<zid>
I think you can take him heat
<zid>
how hard can easy ai be
vdamewood has joined #osdev
FreeFull has joined #osdev
ramenu__ has joined #osdev
voidah has quit [Ping timeout: 255 seconds]
<GeDaMo>
I assume zid is currently trying the game :P
netbsduser` has quit [Ping timeout: 264 seconds]
Ellenor has joined #osdev
<gog>
i want to go home
<gog>
i cannot into database
<gog>
i want to go home and work on my rtld
<mjg>
rtld?
<mjg>
:(
<mjg>
no gogs
<mjg>
you have to write in javascript framework do jour
<mjg>
whas is it this week?
<gog>
runny_shit.js
<gog>
the document object is conceived of in a way that conceptually mimicks a runny shit
<mjg>
you know, i could believe this is a real name
<mjg>
fucky_framework_2.0
<gog>
but this week i'm fixing a money thing that's been plaguing the accountant for awhile. she wants to no longer do an annoying thing manually and it's kindof ridiculous that she has had to for so long
<gog>
but at the same time the data i'm trying to work with is very wacky
<gog>
because of selfsame problem
<gog>
and the test database is getting very upset at my repeated high-density queries
navi has joined #osdev
<mjg>
mon
<mjg>
utterly fucked db state is the bane of existence
<gog>
i would really, really love it if we could make a migration plan to unfuck the way we store invoices and deal with the legacy stuff with views
<mjg>
dude
<nikolapdp>
hah that's not happening
<gog>
i know it's not happening
<mjg>
i think you are missing an important detail
<gog>
it would just be nice
<mjg>
it's virtually guaranteed there is accounting evil in there
<mjg>
because of insufficient validation in the past
<gog>
probably
<mjg>
if you do anything to unfuck the state you may uncover it
<bslsk05>
groups.google.com: Hi. Can we documentary ms abi too?
<heat>
low quality trolling :(
<gog>
:(
<nikolapdp>
:(
<gog>
coshvji cujmlqef
netbsduser` has quit [Ping timeout: 255 seconds]
<heat>
i appreciate good trolling, but not "coshvji cujmlqef is asking for documentary ms abi on sysv abi also i want new wincall abi"
<gog>
you can litearlly just use a new abi
<gog>
it's that easy
<nikolapdp>
go and rust already do that don't they
<gog>
let's change all of windows' history to use a more efficient calling convention
<heat>
nikolapdp, no
<nikolapdp>
rust's is technically unspecified still
<nikolapdp>
i guess they just default to sysv
<heat>
if you stray from the "C" abi it'll be a PITA to interop
<heat>
even just the calling convention
<nikolapdp>
they have attributes to mark certain functions as c abi
Vocelia has joined #osdev
<heat>
i dont know what rust does internally, but i do know they use the sysv abi for C interop
<heat>
or else it wouldn't just work
<nikolapdp>
yeah you have to mark functions for c interop specifically
<nikolapdp>
but they have their own (probably mostly sysv) abi for rust stuff
<heat>
oh wow, is go a mess too?
<heat>
i'm very negatively surprised
<Vocelia>
I've heard of Zig
<Vocelia>
It also has C interop
<heat>
see, to me this makes very little sense, because now you need to implement 2 ABIs
<nikolapdp>
heat it's because needs to be BLAZINGLY FAST
* gog
blazes
<heat>
420
xenos1984 has quit [Read error: Connection reset by peer]
<heat>
the way to be BLAZINGLY FAST is to inline the shit out of everything
<nikolapdp>
yes
<nikolapdp>
and custom abi apparently
<heat>
L take, C and C++ are still faster
<nikolapdp>
oh i agree
<nikolapdp>
rust sucks
<heat>
i dont think rust sucks
<nikolapdp>
it's overhyped let's say
<heat>
a few days ago i saw a snippet of rust code that confused rustc enough that you could corrupt memory with it
<nikolapdp>
LOL
Irvise_ has joined #osdev
<Cindy>
heat: i used macros and inline functions all the time
<Cindy>
my 2MB m68k emulator library has 100 functions
xenos1984 has joined #osdev
<nikolapdp>
how's that coming along cindy
<nikolapdp>
*Cindy
Celelibi_ has joined #osdev
Celelibi has quit [Read error: Connection reset by peer]
GreaseMonkey has joined #osdev
Celelibi_ is now known as Celelibi
vykt has joined #osdev
<vykt>
how does x96 PAE expand addressable memory beyond 4GB? I'm looking at MS docs for PAE, where they state that PAE changes the virtual addr split from 10/10/12 to 2/9/9/12, with the first 2 bits being the page directory pointer index. But how does this expand byte-addressable memory beyond 4Gb, 2^32 is still 4GB?
<vykt>
s/x96/x86/
<vykt>
every other example I see from other sources that covers 4 or 5 level page tables shows that additional levels add extra bits to the address. e.g.: 4 levels may use 40bits.
<vykt>
this makes sense, MS's description of PEA does not
<gog>
the virtual address space is the same
ski has joined #osdev
<gog>
but the page tables are different such that each one has 512 8-byte entries
<gog>
and there's the pdpt
<vykt>
512 entries because 9 bits are available. non-PAE 32bit tables have 1024 entries since they're working with 10 bit indexes.
<gog>
yes
<vykt>
but how does this change the total amount of addressable memory?
<gog>
because each entry mapping a physical page frame can be up to...56 bits i think?
<gog>
so if you have more than 4GIB of RAM it can't all be mapped in at once
<vykt>
ohhh, will the page tables specify the physical address to map to, where the addresses will be greater than 32bit
<gog>
yes
<vykt>
tysm gog
<gog>
where they can be
<vykt>
why is the pdpt necessary then?
<vykt>
it seems like the same can be achieved using a 10/10/12 split
<gog>
because the entries are only 32 bits wide
<gog>
each entry refers to a physical page frame that appears at the address in virtual space
<gog>
so you cannot address more than 4GiB of PA
<gog>
when the CPU is in paging mode, it knows nothing about the physical address space really
<vykt>
each process / kernel has its own page table if im not mistaken. whether i use a 2/9/9/12 split or a 10/10/12 split, i can still ultimately specify in my page table a physical address longer than 32 bits.
<vykt>
in theory at least, i'm sure there's architectural limitations
<gog>
in 386 paging?
<gog>
you can't
<gog>
you can't address memory > 4GiB
<gog>
the hardware can, the software cannot
<gog>
say you have 8GiB physical memory
<vykt>
yesss, but when writing a page table i could write a 36bit address into a page table for some process
<gog>
how
<vykt>
i thought that's what you said happens
<vykt>
with PEA
<gog>
yes, but the CPU can only "see" 4GiB of address space
<gog>
in 386 paging mode the physical page frame is 32 bits, each page table is 4KiB and has 1024 entries of 4 bytes each
<vykt>
yess
<gog>
therefore each page table addresses 4MiB of virtual address
<gog>
and the directory has 1024 page tables
<gog>
a total of 4GiB
<gog>
this is the same math for PAE, that's right
<gog>
idk how to explain this better
<vykt>
so how can the MMU use more than 4gb?
<heat>
PAE
<gog>
PAE
<vykt>
how does PAE deviate from what you've just described?
<heat>
wait what's the question and how can i help
<gog>
how PAE can address more than 4GiB of physical memory
<gog>
and 386 paging cannot
<vykt>
heat: I dont understand how PAE can address more than 4gb when virtual addresses are still 32bit
<heat>
PAE page table entries are 64-bit wide
<gog>
that's what i told them heat
<heat>
you can only map up to 4GB at once, but you can address *physically* ~ the whole 64-bits
<heat>
if you have, say, multiple address spaces
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
<heat>
PAE also tends to be more or less useless in many cases, but hey it has NX and we like that
<vykt>
that makes sense. but why the 2/9/9/12 split instead of 10/10/12 with PAE?
<heat>
because page tables are traditionally (for many reasons) a single 4KB page
<gog>
because each page table still has to be 4KiB but you need more entries
<gog>
so you add another table
<heat>
and since they doubled the entry size, you fit less entries into a single page table
<vykt>
how does the 2/9/9/12 split mean you have more entries?
jtbx has joined #osdev
<gog>
a virtual address encodes the offets into those tables
Nixkernal has joined #osdev
<gog>
a physical address is stored in the tables
<heat>
vykt, it does not mean you have more entries
<heat>
it means you have the same number of entries, but wider entries
<heat>
if i double the entry size, and keep the table's "byte size" the same, i halved the number of entries and thus virtual addressing space
<heat>
a quick hack was to add a new table layer that compensates for this halving, with 4 entries (2 for the halving of the lower page table layer, 2 for the page directory layer)
<gog>
a page table is page-sized. they are always 4096 bytes
<heat>
i just wanted to disambiguate from size from entry
<heat>
s/entry/nr of entries/
<vykt>
omg
<vykt>
i get it
<vykt>
tysm
<heat>
np
<vykt>
do page tables have to be the size of a page for efficiency?
Vocelia has quit [Ping timeout: 264 seconds]
<heat>
i suspect its mostly a constraint coming from the software's side, where many operating systems only bother to have single page allocation (vs allocating N contiguous pages) as a common case
<gog>
there are PMMUs that use different mapping structures
<gog>
like the M68k is rather different from x86 iirc
<heat>
and then you have cases such as linux where they do handle allocating 2^N contiguous pages, but order 0 (4KB) is the common, mega-optimized case, and higher order allocations can also fail
<heat>
due to memory fragmentation
<heat>
(this claim has a mega-asterisk on top but it's offtopic in this case)
<gog>
also i think page tables are 4K on x86 because the mmu can only address whole pages of memory at a time and the low 12 bits just pass through from the address bus
<gog>
but who knows how any of that actually works on the level of traces on a board
<nikolapdp>
how's the cat gog
<gog>
he's ok, i'm a little worried about him but he seems fine
<gog>
i think i'm just paranoid
<nikolapdp>
why are you worried
<gog>
he isn't eating or drinking a lot and he hasn't used the box at all, yesterday or today
<gog>
and i haven't found any surprises anywhere
<heat>
meow
<gog>
no other indication of anything wrong tho
<nikolapdp>
maybe he's just adjusting
<gog>
i think so
<gog>
i think also i'm just anxious because my wife is expressing anxiety whereas i didn't think anything of it until she started saying so
<gog>
i think he doesn't like the substrate we picked
<gog>
it's made from wood shavings rather than clay
<nikolapdp>
what did his previous owners use
<gog>
no clue
<heat>
wtf wood shavings
<heat>
now that's new to me
<gog>
we're giving it a shot, it's supposed to be possible to flush it down the toilet
<gog>
i don't really like dealign with bags of cat shit
pretty_dumm_guy has quit [Ping timeout: 264 seconds]
<acidx>
cats usually take a while to adapt to a new place