<heat>
while it's functionally the same thing, you might as well use the function check
<mcrod`>
yes
<heat>
in case you have a bizarre C environment
<mcrod`>
#ifdef LIBSAME_HAVE_SINF is better than #ifdef jkwdfkskdjfkjsdkfbjskbj
<heat>
FWIW musl in -std=c89 will still show you sinf
<mcrod`>
that's interesting
<heat>
... and every other function
<heat>
they don't care about backwards compat. glibc on the other hand tries to hide everything behind feature macros or __STDC__
<zid>
linkers aren't nice enough to care about your ifdefs
pretty_dumm_guy has quit [Ping timeout: 240 seconds]
<heat>
FWIW if you define a local sinf linkers will just link against your symbol
<heat>
as I understand it, static linking will make *everything* use your symbol (including libc.a stuff, as long as you don't pull in sinf.o from the archive). shared linking resolves to your sinf within the program *ONLY*, I think
pretty_dumm_guy has joined #osdev
<heat>
with --export-dynamic I don't know what will happen, probably external references will resolve to your program's sinf
<Ermine>
sinf as in sinful?
<zid>
that's the unsigned long variant
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
rustyy has quit [Remote host closed the connection]
rustyy has joined #osdev
EineNdamen has joined #osdev
EineNdamen has quit [Read error: Connection reset by peer]
Burgundy has quit [Ping timeout: 255 seconds]
EineNdamen has joined #osdev
EineNdamen has quit [Client Quit]
<heat>
mcrod`, TIL M_PI is not standard
<mcrod`>
indeed it isn't
<mcrod`>
i was hoping you'd say something about why I didn't use M_PI
* mcrod`
point and laugh
<heat>
actually
<heat>
why so little digits of PI?
<heat>
can't floats store more precision than that?
<mcrod`>
no
<mcrod`>
i don't think so anyway
<heat>
that's a garbage PI
<heat>
you have one more digit than the ones I know by heart
<zid>
3.14159265358979323 is what I know, then it goes like 82426 or something but I forgor
<geist>
and i haven't been able to start the vax server yet since it has a different IEC power plug
<geist>
(C15 vs C13)
<geist>
puck: yeah the 320 seems fairly powerful. basically same as a vt220 but a lot of extra memory and features
<puck>
geist: i wish it wasn't harvard arch tho :(
<puck>
geist: i bet i could've gotten RCEs onto it
<heat>
geist, what's that running on the vt320?
<geist>
oh and i left out that one of the machines (the metal rackmount on the floor) is a PDP-11/53
<puck>
also i need to build a little pi pico w based serial terminal for it
<geist>
heat: that's connected to the vaxstation next to it, running VMS 7.3
<puck>
geist: annoyingly the modem connection on the vt320 isn't compatible with rs232 ports
<puck>
unless you use software flow control
<geist>
yah i have a MMJ cable for it, but the plug is a bit flaky, so i'll have to see if i can fix that
<puck>
which .. requires a preexec on agetty, and some careful work because agetty doesn't understand XON/XOFF and will break really confusingly if it sees theme
<puck>
i'm tempted to make an MMJ to pi pico w adapter
<geist>
oh interesting, that's a shame. the 220 had a DB25 right?
<puck>
yes, the vt320 has a db25, but the pins used don't all translate to db9
<geist>
yah they seem to really be into XON/XOFF
<puck>
like, it's meant to connect to a hardware db25 port, like on .. a modem
<geist>
it seems to work fine, sinc eyou can use the pause button on the terminal and it seems to properly tell the host to stop, etc
<puck>
the mmj is what yo uconnected computers to iirc
<geist>
unless that's an ESC sequence
<puck>
hardware flow control works fine tbh, but just not on plain db9 <-> db25 cables
<geist>
yah i have a MMJ to DB25 and then various chains of serial cables, so i was able to get it to talk to the sun machine
<geist>
the ultra 2 wants to run a gui though, and what i forgot to pick up was a sun keyboard, so i'll have to hunt on ebay for a type 5 or whatever it needs
[_] has joined #osdev
<puck>
i wanna get a proper sparc i say having two sparcs (a krups, and a sunfire t1000)
<gog>
i want any retro computer that isnt a pc clone
<puck>
(the krups is slowly falling apart, but runs both javaos and netbsd fine)
<gog>
itaaaaaaaaaaanium
<puck>
gog: isn't early EFI just the BIOS but via function call instead of interrupt
<gog>
basically
<gog>
with additional things
<gog>
it has an event abstraction, a timer, file io, memory management
<geist>
yeah the sparcstation LX doesn't start, but i think they're notorious for having flaky power supplies
<geist>
so i'll fiddle with that in a bit
<geist>
first thing i did was systematically take out all the scsi drives and archive them on another machine
[itchyjunk] has quit [Ping timeout: 272 seconds]
rpnx has quit [Ping timeout: 260 seconds]
<heat>
puck, no
<heat>
early EFI was AFAIK it's whole thing
<heat>
started by intel as the IBI (Intel Boot Initiative) to design a whole new thing
<heat>
not "BIOS blob but funcptr"
<geist>
also on itanium first
<geist>
though i dunno if they intended to move that over to x86 eventually, or if they just intended for itanium to suppliant x86 so much that they'd never have to bother with it
<geist>
that's the console port + eth + those big connectors having a lot of serial ports
<vaxuser>
slip is one the things i read about quite a bit but never bothered to try
<vaxuser>
while still had serial port on my laptop :X
<geist>
i dont think ther'es much to it, i think you just HDLC frame IP ports over it
<geist>
so the usual ESC sequence for start of frame and then esc if the esc characters shows up, but otherwise it's just raw binary
<vaxuser>
in terms of implementing the thing i don't think there is anything to it
<geist>
and i think both sides have to up front know their addresses
<vaxuser>
configuring the systm to work probably runs into lol interop problems
<vaxuser>
unless this is somehow a standard(?)
<geist>
PPP has the more powerful ability to negotiate the addresses
<geist>
nah i think SLIP is basically standardized. probably an RFC for it
<heat>
geist, ok, just checked. it seems that the accepted narrative was that IBI came up because of Itanium, but they had recognized the shortcomings of the BIOS for PC too. somewhere around 04 or 05 they had an IA32 port already
<vaxuser>
oh 1055
<vaxuser>
ok
<heat>
i can't quite pinpoint *when* all of this stuff happened, it's not /really/ written down
<heat>
IBI itself was in 98
<vaxuser>
are tehse ports 115.200?
<geist>
yah and tha's about right, because AMD did the AMD-64 stuff in like 2003 and that was when MSFT started working on it, etc
<vaxuser>
iperf over slip would be glorius
<geist>
vaxuser: dunno, actually
<geist>
the general console port speed for these is 9600, but the main serial ports may do more
<geist>
OTOH there is an ethernet port there, 10mbit
<geist>
just need an AUI connector or a thinnet, which i have both of
<geist>
it is interesting reading the vax manual and the vms manual, and i wonder how much the design of the cpu influenced early OS design
<geist>
notably things like the interlocked list insert and remove lets you design data structures around that
<geist>
and the 32 interrupt priority levels which are quite easy to raise/lower, so VMS used it quite frequently for various kernel IRQ levels (something that clearly got pulled forward into NT)
<geist>
ie, sert IPL to 24 and now timers can't interrupt you, set it to 22 and timers can but regular network interrupts cant, etc
<vaxuser>
unixes were notorous for this
<vaxuser>
spl*
xenos1984 has joined #osdev
<geist>
and then 1-15 are soft IPLS, so they have this notion of like >=IPL4 means you can no longer accept page faults, etc
<geist>
yeah
<geist>
probably inherited from VAX, since that was just how the hardware worked. it had 15 irq vectors for IPL 1-15, that would latch and fire as the IPL level lowered
<geist>
so you could be at IPL10, set an IPL5 DPC, which would fire as soon as you lowed the IPL
<geist>
so there was lots of queue and have the hardware fire later
<geist>
which windows does, though presumably emulated in software
<geist>
would be easy to do too, you just set up your DPC, and INSQUEUE it into the level 5 queue with a single instruction, and set the bit
<bslsk05>
vzimmer.blogspot.com: Vincent Zimmer's blog: Search results for Intel boot initiative
<heat>
a lot of really insightful posts from one of the main people behind EFI
<geist>
noice
<heat>
i can't quite pinpoint when IA32 EFI was available. he talks about a different effort from another team in DuPont to write a new boot path from scratch
<heat>
different from the BIOS garbage
Arthuria has quit [Ping timeout: 252 seconds]
<geist>
ah interesitng, the 3800 has two DSSI 5.25" scsi drives in it
<geist>
DSSI and SCSI are apparently closely related, but the pinout is different :)
gog has quit [Ping timeout: 240 seconds]
<geist>
well, the pinout is close, but it seems the power pinout is differnet, different shaped molex
<geist>
well, will fiddle with that later, when i have a power cable for this thing