marcopolo2 has quit [Quit: Connection closed for inactivity]
Gooberpatrol66 has quit [Quit: Konversation terminated!]
Gooberpatrol66 has joined #osdev
fedaykin has joined #osdev
gog has quit [Ping timeout: 252 seconds]
foreignmonk has quit [Quit: Leaving]
Celelibi has quit [Ping timeout: 265 seconds]
Celelibi has joined #osdev
Starfoxxes has quit [Ping timeout: 246 seconds]
X-Scale has joined #osdev
X-Scale has quit [Ping timeout: 256 seconds]
Starfoxxes has joined #osdev
marcopolo2 has joined #osdev
Arthuria has joined #osdev
jedesa has quit [Quit: jedesa]
jedesa has joined #osdev
Arthuria has quit [Ping timeout: 246 seconds]
jedesa has quit [Remote host closed the connection]
Fingel has joined #osdev
jedesa has joined #osdev
Arthuria has joined #osdev
Dead_Bush_Sanpai has quit [Quit: Dead_Bush_Sanpai]
Yoofie646 has joined #osdev
heat has quit [Ping timeout: 248 seconds]
Dead_Bush_Sanpai has joined #osdev
edr has quit [Quit: Leaving]
\Test_User has quit [Quit: \Test_User]
hwpplayer1 has quit [Remote host closed the connection]
\Test_User has joined #osdev
divine has joined #osdev
marcopolo2 has quit [Quit: Connection closed for inactivity]
orccoin has joined #osdev
X-Scale has joined #osdev
Gooberpatrol_66 has joined #osdev
Gooberpatrol66 has quit [Ping timeout: 245 seconds]
dostoyevsky has quit [Quit: leaving]
dostoyevsky has joined #osdev
vdamewood has joined #osdev
X-Scale has quit [Quit: Client closed]
Arthuria has quit [Ping timeout: 248 seconds]
Dead_Bush_Sanpai has quit [Read error: Connection reset by peer]
Dead_Bush_Sanpai has joined #osdev
<GreaseMonkey>
currently doing some more "bad 16-bit slash 64-bit fanfiction", does anyone know how to get and set base addresses for FS and GS in x86-64? because if you try to read or write them normally in 64-bit mode, they break
<GreaseMonkey>
well, "normally" as in treating them like segment registers
<kazinsal>
you need to use MSRs
<kazinsal>
there's FSBASE and GSBASE MSRs that do exactly what it says on the tin
<GreaseMonkey>
ah, alright
<kazinsal>
there's also a swapgs instruction that swaps the GS base address between the GSBASE and KERNELGSBASE MSRs
<kazinsal>
iirc these are core specific and not global
<GreaseMonkey>
seems rdfsbase/wrfsbase is also a thing
<zid`>
break?
<GreaseMonkey>
as in it seems to reset their base addresses weirdly?
xenos1984 has quit [Read error: Connection reset by peer]
<zid`>
oh normally as in mov fs? yea no that doesn't do anything
<kazinsal>
I believe you need to set a flag in... some MSR to do those
<kazinsal>
or maybe it's in CR3
<kazinsal>
er, CR0
<kazinsal>
because they're CPL=3 accessible
<zid`>
IA32_KERNEL_GS_BASE 0xC0000102
<zid`>
and then ivy?+ has fsgsbase
<kazinsal>
bit 16 in CR4 is FSGSBASE_ENABLE
<GreaseMonkey>
ah alright
<kazinsal>
for those specific user mode instructions
<kazinsal>
you can always use FSBASE and GSBASE MSRs in ring 0
steelswords9 has quit [Read error: Connection reset by peer]
[Kalisto] has quit [Quit: Ping timeout (120 seconds)]
steelswords9 has joined #osdev
xenos1984 has joined #osdev
[Kalisto] has joined #osdev
pabs3 has quit [Read error: Connection reset by peer]
[Kalisto] has quit [Ping timeout: 255 seconds]
[Kalisto] has joined #osdev
theyneversleep has joined #osdev
pabs3 has joined #osdev
leon has quit [Ping timeout: 260 seconds]
leon_ has joined #osdev
[Kalisto] has quit [Quit: Ping timeout (120 seconds)]
[Kalisto] has joined #osdev
GeDaMo has joined #osdev
guideX_ has joined #osdev
guideX has quit [Ping timeout: 252 seconds]
anonpreet has joined #osdev
Fingel has quit [Ping timeout: 252 seconds]
<kof673>
hmm... i have to make a dummy __main() that just returns 0, in addition to normal main(), transfer the object file to the pdp11 side, and link on the pdp11 side, and then pdp11-bsd2.11-gcc magically works :D else, segfault :/
anonpreet has quit [Quit: Leaving]
<nikolar>
kof673: are you using GCC to write code that would run on bsd2.11?
<nikolar>
I haven't tried that because I couldn't figure out the syscall abi lol
<kof673>
that was just hello world...__main() seems to come from libgcc maybe... and tries to pull in atexit() too ? well hello, world works, that is all i am doing :D
<kof673>
but i still link on the pdp side, so just send a hello.o file over to the pdp11, compiled on the host linux side with gcc
<nikolar>
You're probably better of going freestanding and doing your own syscalls
<nikolar>
Including the program termination
<kof673>
well i mean....if it means you have a compiler besides the k&r one i guess it is useful for someone :D
<nikolar>
Oh it is
<nikolar>
I just don't think it works on bsd without some massaging
<kof673>
well, ask me in 6 months whether something more advanced than hello, world breaks :D
<kof673>
i need -ansi too because gcc "Fixes" headers and the defaults e.g. do not declare printf, so the "Fixed" headers gcc makes are wrapped in some ifdefs, ansi is one way to turn them on
<kof673>
(or gcc "fixes" just seems to add prototypes maybe)
<nikolar>
We should write our own libc for the bsd lol
<kof673>
the install tarball i had, makes a tape to install from. so there are tar files... but not for /lib so i had to copy crt0.o mcrt0.o and libc.a out from a running system. earlier i just made dummy files for gcc and symlink to libc_p.a (since that was in the tarball). linux "restore" cannot read the root "dump" file that probably has those
<kof673>
so i did have to install first to get 3 files out...
<nikolar>
Huh that's weird
<kof673>
i just made a hex encoder/decoder so i copy/paste into vi on both sides lol and linux "sum" utility matches the bsd one i guess :D
<kof673>
so i transfer files like that for now lol
<nikolar>
Though actually I'm not sure if I've installed bsd or just got an image
<bslsk05>
bsdimp.blogspot.com: Warner's Random Hacking Blog: SIMH Setup for 2.11BSD restoration project
<kof673>
well, that one i don't think has networking
<nikolar>
You can configure it
<kof673>
those instructions work, just maybe 10 minutes on the tar steps
Dead_Bush_Sanpai has quit [Ping timeout: 260 seconds]
<kof673>
i gotta sleep, but anyways :D
<nikolar>
I did implement base64 for the v7 so I can transfer files lol
<kof673>
what is nice is hello world is like 4000b or 2000 stripped, but the little object files is like < 300. so this is not too bad to transfer object file over and link
<kof673>
it was a long paste yanking the libc.a out lol
<kof673>
had to make a larger terminal buffer lol
Dead_Bush_Sanpai has joined #osdev
<kof673>
for reference, i used binutils 2.20.1 just had it lying around, and gcc 4.1.2 but you can maybe go up to 4.3.2 or so before it was obsoleted ?
<nikolar>
Lol
<nikolar>
What are you referring to
<kof673>
pdp11 target was apparently obsoleted in gcc 4.3.3 or so, unless it was added back? just what a random message board said, i just used the versions they used
hwpplayer1 has joined #osdev
<kazinsal>
nikolar: I would recommend doing what I do an putting the local unmedicated psychotics on ignore
Left_Turn has joined #osdev
<the_oz>
he's only saying that because he finds conversations with his ignoreds too troublesome to parse
X-Scale has joined #osdev
X-Scale has quit [Ping timeout: 256 seconds]
Left_Turn has quit [Ping timeout: 272 seconds]
xenos1984 has quit [Read error: Connection reset by peer]
<kof673>
unless i screwed up, i believe it has the mysterious pdp11 "big across 16-bit words, little within 16-bit words" endian :) unsigned long l = 256 | (256 << 8) # casts omitted for brevity l[0]: 1 l[1]: 0 l[2]: 0 l[3]: 1
* kof673
zzzzzzzzzzzzzz
<geist>
yeah. it's a little endian machine but for 32bit loads it load the words in different order
<geist>
hence middle endian
<nikolar>
geist: have you cross-compiled anything to pdp-11
<geist>
not really. i have been meaning to, but aside from fiddling with assembly a little bit i haven't really tested it much
<nikolar>
yeah i figured i'd need to do my own syscalls and i just couldn't find much documentation on how to do that
<nikolar>
and reading the libc assembly was annoying lol
xenos1984 has joined #osdev
theyneversleep has quit [Ping timeout: 252 seconds]
op has joined #osdev
pdziepak has quit [Ping timeout: 248 seconds]
pdziepak has joined #osdev
q3lont has joined #osdev
pdziepak has quit [Ping timeout: 260 seconds]
pdziepak has joined #osdev
<dormito>
anyone know about ABI specific link time library selection? Especially for static libraries? I know I've seen gcc (or maybe it's binutils that has the logic) chose between different flavors of libraries depending on ABI choices (hardfloat vs softfloat is a relatively common one)
<clever>
ive only seen it doing that with libgcc.a
<clever>
but i can imagine it would use the same path prefixes for other libraries
hwpplayer1 has quit [Remote host closed the connection]
Left_Turn has joined #osdev
q3lont has quit [Remote host closed the connection]
q3lont has joined #osdev
q3lont has quit [Ping timeout: 252 seconds]
leon_ is now known as leon
guideX_ is now known as guideX
q3lont has joined #osdev
Turn_Left has joined #osdev
Turn_Left has quit [Max SendQ exceeded]
Left_Turn has quit [Ping timeout: 252 seconds]
Turn_Left has joined #osdev
foreignmonk has joined #osdev
dinkelhacker_ has joined #osdev
hanemile_ is now known as hanemile
op has quit [Read error: Connection reset by peer]
Turn_Left has quit [Ping timeout: 246 seconds]
theyneversleep has joined #osdev
goliath has joined #osdev
q3lont has quit [Quit: Leaving]
edr has joined #osdev
nikolapdp has joined #osdev
<nikolapdp>
let's see how long the emulator survives now
<nikolapdp>
btw, pdp's bac
levitating has joined #osdev
craigo has joined #osdev
craigo has quit [Quit: Leaving]
goliath has quit [Quit: SIGSEGV]
<Ermine>
hey pdp
<nikolapdp>
ello Ermine
nikolapdp has quit [Remote host closed the connection]
nikolapdp has joined #osdev
Left_Turn has joined #osdev
<zid`>
nikolapdp: It'd survive less time if you actually used it
<nikolapdp>
i am using it, aren't it
<nikolapdp>
s/it/i
<Ermine>
you forgot / in the end
<Ermine>
btw it shouldn't be hard to make pdp replica, should it?
<nikolapdp>
it would've replaced the wrong "it" anyway ke
<nikolapdp>
Ermine, in what sens
<nikolapdp>
there are a couple of fpga versions
<Ermine>
it's a bunch of transistors
<nikolapdp>
kek, i meant more specifically
<Ermine>
if you wire them the right way, you get a pdp
<nikolapdp>
and if you wire them slightly differently you get an iapx 432
<zid`>
nikolapdp: how many mkvs of goats has it transcoded?
<zid`>
that's what I consider using a machine
emntn has joined #osdev
<Ermine>
til iapx 432
<nikolapdp>
kek
<nikolapdp>
zid, none so far
<nikolapdp>
i am yet to port ffmpeg
<zid`>
can you build any version of nethack for it?
<nikolapdp>
probably
<nikolapdp>
when was the first version released
<zid`>
1982
<zid`>
1987*
<nikolapdp>
87?
<zid`>
yes?
<nikolapdp>
i am going with "maybe you could get it working"
<nikolapdp>
there was hack for pdp-11 apparently
heat has joined #osdev
<nikolapdp>
oi heat, pdp's back
<zid`>
if you compile nethack 3.4.3 for it
<zid`>
I will telnet in and beat it
<nikolapdp>
kek
<nikolapdp>
is 128k ram enough for nethack
<heat>
do you have a new bsd install at least?
<nikolapdp>
nope
<zid`>
I don't think so really, it'd be REAL tight
<zid`>
just loading in
<nikolapdp>
yeah thought so
<zid`>
I could oom it trivially from there
<nikolapdp>
btw that 128k is split between data and program address spaces
<nikolapdp>
so even harder to fit presumably
<zid`>
it absolutely won't fit then
<nikolapdp>
i'll try the earliest version i can find
<nikolapdp>
which is 1.3d apparently
<zid`>
can you buy more ram
<heat>
you should upgrade to one of those newfangled vaxes
<nikolapdp>
zid`, you can, but a process can only see up to 128k
<zid`>
Unix (*BSD, System V, Solaris, HP-UX, ...)
<zid`>
BeOS
<zid`>
VMS
<nikolapdp>
the whole system can go up to 4mb or something, i forgor
<zid`>
+ binaries for win/dos/linux/ce/os2/mac/amiga/atari
<nikolapdp>
what's that for
<zid`>
nethack 3.4.3
<zid`>
can you install vms
<zid`>
instead of pdp
<nikolapdp>
lol, i could get a vax emulator if that's what you're asknig
<zid`>
you wouldn't download a vax
<nikolapdp>
but i would :(
<heat>
>but a process can only see up to 128k
<heat>
PIPES
<heat>
ALL OF THEM
<nikolapdp>
yes
<heat>
#musl wet dream
<nikolapdp>
split nethack into separate communicating processes, and i'll port it to bsd 2.11
<zid`>
Can you put like, your inventory in a different process
<zid`>
and they all draw to the screen independently
<zid`>
you have FOUR MEGS
<nikolapdp>
probably
<nikolapdp>
you even have select() so you can wait on multiple things :P
foreignmonk has quit [Read error: Connection reset by peer]
<nikolapdp>
(v7 couldn't do that)
<zid`>
oh, you're going to have a master control program?
<zid`>
what are we, tron
<nikolapdp>
indede
<heat>
SELECT
<heat>
TOP TIER TECHNOLOGY HERE
<nikolapdp>
concurrency baby
<heat>
beautifully amish system
<heat>
only quaint technology allowed
<nikolapdp>
what more do you need really
<nikolapdp>
you even have networking
hwpplayer1 has joined #osdev
xenos1984 has quit [Read error: Connection reset by peer]
heat-onyx has joined #osdev
levitating has quit [Ping timeout: 248 seconds]
<heat-onyx>
i need 30M to just boot
<heat-onyx>
BIG METAL ONYX
<nikolapdp>
wow
<zid`>
onyx is a mineral though
<nikolapdp>
go hang out with your ibm buddies
<zid`>
big rock onyx
<heat-onyx>
11M of page cache, 19M of mysterious totally not horse meat
<nikolapdp>
kek
<heat-onyx>
fwiw i need procfs so i can more easily track slab and memory stats
<heat-onyx>
20M of heap and anon feels a little excessive
<nikolapdp>
indeed
<nikolapdp>
coudln't run on an i386sx
<heat-onyx>
shame the kernel heap isn't swappable
<heat-onyx>
*sad dave cutler noises*
<nikolapdp>
kek
voidah has joined #osdev
levitating has joined #osdev
hwpplayer1 is now known as pinkychocolate
pinkychocolate is now known as hwpplayer1
xenos1984 has joined #osdev
<heat-onyx>
l
<heat-onyx>
oops
heat-onyx has quit [Quit: leaving]
<zid`>
loops
<heat>
LOOPS
<heat>
allowing loops was a mistake
<nikolapdp>
yes, we should do recursion instead
goliath has joined #osdev
<heat>
HASKELL
<heat>
LFG
<zid`>
looking for group?
<heat>
:eyesemoji:
<heat>
have i mentioned how musl iconv replaces non-ascii characters with * so every a non-ascii character shows up it looks like someone's swearing
<nikolapdp>
kek
<nikolapdp>
at least it's better than random garbage i get
<heat>
well this is utf8
<heat>
and my vterm is UTF-8 READY(tm)
<nikolapdp>
not ready enough apparently
<heat>
please don't write composable codepoints
<nikolapdp>
kek
<heat>
or right-to-left text
<nikolapdp>
i can't even if i wanted :P
<heat>
or arabic in general probably
<heat>
nah it's ready but i'm setting LANG=C in the environment by default
<heat>
i want... C.UTF-8
<zid`>
# locale
<zid`>
LANG=C.UTF-8
<nikolapdp>
yeah what zid said
<zid`>
mine's set from /etc/env.d/02locale
<nikolapdp>
also i thought musl didn't care about localization stuff
goliath has quit [Quit: SIGSEGV]
<zid`>
# tail -n1 /etc/locale.gen
<zid`>
en_GB UTF-8
<zid`>
and this is a thing
<heat>
musl has some locale support
<zid`>
idk what it does!
_ngn has joined #osdev
<heat>
alpine and void all have their own localization of musl internal strings too IIRC
<nikolapdp>
zid, i imagine it doesn't do too much for various english locales
<nikolapdp>
but if i set LANG=sr_RS.UTF-8 i can get a bunch of programs to output in serbian
<zid`>
do you have like
<zid`>
en_rs for latin
<zid`>
and cy_rs
<zid`>
for cyrlrilicaic
<heat>
programs should output in serbian by default because SERBIA STRONK
<heat>
but yes i hate that
<nikolapdp>
sr_RS and sr_RS@latin
<nikolapdp>
heat hate what
<zid`>
v
<zid`>
sr_RS sr_RS@latin
<zid`>
yea just found it myself
<nikolapdp>
kek
<heat>
localizated unix utility messages
<zid`>
/usr/share/i81n/locales/*RS*
<nikolapdp>
you don't have to use it
<heat>
i've had to parse gcc errors in portuguese to help friends out
<nikolapdp>
kek
<zid`>
what programs support serbian
<heat>
warcrimesd
<nikolapdp>
pacman does i think
<zid`>
ratko mladic.c
<nikolapdp>
i don't run with sr_RS so no clue
<zid`>
that I'd have installed
<nikolapdp>
i just turn it on sometimes for shits and giggles