Search logs:

channel logs for 2004 - 2010 are archived at ·· can't be searched

#osdev2 = #osdev @ Libera from 23may2021 to present

#osdev @ OPN/FreeNode from 3apr2001 to 23may2021

all other channels are on OPN/FreeNode from 2004 to present

Wednesday, 12 January 2022

00:04:00 <geist> yah and i have a few encrypted storage devices that i have to manually log in and remount
00:05:00 <gog> encryption? pffff
00:05:00 <gog> :p
00:06:00 <zid> I have to re-add my keys to pagent idk how to launch it with key files pre-added
01:18:00 <heat> greeeeeeeetingsssssss
01:19:00 * kazinsal looks at his profiler, looks at his throughput, and considers throwing everything out and starting over
01:19:00 <Mutabah> Go away heat. (Jokes - It was 28C at 8:30 AM, far too hot)
01:19:00 <heat> i am very sadge
01:20:00 <heat> can we hit 100 likes
01:20:00 <heat> kazinsal, imagine having a profiler
01:20:00 <kazinsal> despite being fairly sure I've added profiler start/stop calls to everything in the chain of "packet comes in" through "packet goes out" I'm somehow missing about 350 ms of time per second
01:20:00 <kazinsal> it may actually be easiest for me to just write a new kernel core and then start sticking modules back into it
01:21:00 <heat> starting over is probably a bad idea
01:21:00 <Mutabah> Dump the start/end points and look for a gap?
01:21:00 <kazinsal> yeah, I'm going to have to eyeball the entire chain through
01:22:00 <heat> when in doubt just add function tracing and trace that
01:23:00 <heat> (if you're not using C++ that is, i've encountered some weird issues with templating and whatnot with the compiler's function entry/exit tables)
03:39:00 <Clockface> when i use a label for something i defined with dx in NASM, does it use an offset or absolute location?
03:40:00 <Clockface> i think its offset but i want to make sure before i waste my time on something where it is relevant
03:44:00 <Mutabah> It's the absolute location
03:45:00 <Mutabah> unless you annotate the reference with `rel`
03:46:00 <Clockface> i see, thank you!
12:44:00 <klange> I finally tracked down the issue that was preventing ToaruOS 1.x from running in
12:44:00 <bslsk05> ​ Virtual x86
12:44:00 <klange> PIC initialization issue I've only seen in the aforementioned emulator
12:44:00 <j`ey> does 2.0 work? I was planning on trying toaruos on that site a few days ago, but didnt yet
12:44:00 <klange> v86 does not do 64-bit and 2.0 is 64-bit only.
12:45:00 <j`ey> ah
12:45:00 <klange> Hence why I went downt his rabbit hole with old 1.x code :)
12:46:00 <klange> Anyway, that fix alongside disabling the crusty IDE driver by default and not compressing ramdisks (it was taking multiple minutes to run my gzip decompression code), v86 can boot ToaruOS 1.14 to a working GUI
12:46:00 <klange>
12:46:00 <j`ey> nice!
12:46:00 <klange> And it actually runs okay; not quite TCG, but better than Bochs. Smooth mouse movement! Application startup is terrible, though.
12:47:00 <klange> I'm probably not going to mark off a release of the old branch, but the CI builds are still working:
12:47:00 <bslsk05> ​ boot: disable ATA drivers by default · klange/toaruos@998d586 · GitHub
12:48:00 <j`ey> i had fun booting the old windows and stuff
13:11:00 <zid> that page is neat
13:11:00 <zid> I don't have a graphics driver for it though
13:11:00 <zid> so it just gets to here and shows nothing more
15:32:00 <gog> zid: multiboot?
15:56:00 <zid> mutiwho
15:57:00 <gog> how are you booting this?
15:57:00 <zid> yea it's multiboot
15:57:00 <gog> ah ok
15:57:00 <gog> neat
17:34:00 <heat> im sooo close to getting a rustc target for my OS
17:34:00 <heat> the worst part of fiddling with rustc is the wait
17:34:00 <zid> heat: How can I Live, Laugh, Love in these conditions!
17:34:00 <heat> it's like llvm but slightly better
18:15:00 <heat> hmmm the compiler is far from perfect but its a start
18:16:00 <heat> still lots of config options I haven't figured out + I'm not building llvm-project together with rust which I think is making life a bit more difficult for me
18:16:00 <heat> + I need to start keeping my libc crate patches in github
20:24:00 <zid> geist: Got a convo going on elsewhere about a hard drive..
20:24:00 <zid> ..36GB 10krpm scsi drive
20:36:00 <freakazoid333>
20:36:00 <bslsk05> ​ Open source isn't the security problem – misusing it is • The Register
20:49:00 <sham1> Straight fax
20:52:00 <gog> literally pay me to write code. sounds reasonable
20:52:00 <gog> s/write/maintain
21:39:00 <geist> zid: yah i eventually gave up on it. after a few hours the drive started generating a ton of reseek errors
21:39:00 <geist> dunno if that's just a bunch of bad sectors i need to map around or if it's starting to die
21:40:00 <geist> i have more 36GB 10k drives i got a few years back from ebay but they're all SCA and harder to connect to
21:41:00 <geist> so i started over with a 200GB IDE drive and it's all good now
21:42:00 <zid> he's moaning his is stupidly hot
21:47:00 <geist> well that's true too
21:47:00 <geist> they pull i think a fair amount of power
21:47:00 <geist> and noisy
21:54:00 <geist> it is however sad to see that a slightly newer IDE drive, and definitely almost anything in the SATA era will outperform a 10k SCSI drive in most tasks
21:54:00 <geist> seek time is probably better, and perhaps if it's mega loaded the TCG will kick in and beat IDE stuff
21:55:00 <geist> but by the time SATA comes along and you have NCQ and sata drives end up with faster transfers and lots more onboard cache. nope
21:55:00 <gog> synthesis: 10k RPM SAS
21:55:00 <geist> yah
21:56:00 <geist> that being said this particular scsi drive is only 40MB/sec scsi, so it pretty much saturates that
21:56:00 <geist> right next to it i have a IDE drive on ultra DMA 33 so it gets roughly the same total throughput
21:57:00 <geist> it's one of those old brain cells that takes a while to dislodge. i grew up always with the knowledge that SCSI > IDE for a lot of reasons and 10k > *, etc
21:58:00 <geist> whcih was true for a time, but time moves on. however you still have this residual burn-in on your brain where that truth was hard for such a long time
21:58:00 <gog> server-class stuff definitely
21:58:00 <gog> where they had PCI-X
21:59:00 <gog> but 32-bit 133MHz PCI has a pretty hard throughput limit
21:59:00 <geist> oh that's true this particular symbios card is plugged into a 33mhz pci bus
21:59:00 <geist> so the 40MB wont really be achieved
21:59:00 <gog> yeah even slower
22:00:00 <geist> kinda a bummer it's too much of a mess to actually write a parallel scsi driver nowadays
22:00:00 <geist> but that's a particular mess you dont want to dive into. lots of partially documented chipsets with a lot of work to make them go
22:00:00 <geist> like a complicated version of wanting to write drivers for all the legacy PCI IDE chipsets. theres so many of them
22:02:00 <geist> i remember working with the BeOs symbios 875 driver a bit back in the day. it was kinda interesting: you loaded firmware onto its little cpu and based on what you loaded it would handle the low level details of marshalling bits across the wire and moving things around in memory
22:02:00 <gog> that'd be the kind of thing the BeBox shipped with right?
22:02:00 <gog> high-performance workstation hardware
22:02:00 <geist> not really that exotic nowadays, but for something in the 90s it was pretty advanced. was like an 8051 + a bunch of additional opcodes
22:02:00 <geist> had a little assembler, etc
22:03:00 <geist> yah bebox iirc has a symbios and an IDE chipset
22:03:00 <geist> you could plug hard drives into either
22:03:00 <gog> BeOS was too good for this world
22:05:00 <heat> how complex is scsi?
22:06:00 <heat> i've only seen it in google cloud platform but that's obviously a really good thing to support (they use virtio-scsi vs virtio-blk)
22:07:00 <kingoffrance> does that mean it needs a haikeulogy? bitrot to bitrot / it was too good for this world / the stream has moved on
22:09:00 <geist> scsi command set itself is pretty straightforward. cleaner than ATA for sure
22:09:00 <geist> but it is transportless so there are a bazillion ways to shove it over things
22:09:00 <geist> and it wont die, it keeps getting resurrected in new forms
22:10:00 <heat> completely unrelated: llvm compiled with thin LTO isn't actually that slow to compile
22:11:00 <heat> I wonder why sata driver kind of converged into scsi in Linux. or is that just /dev/sda nonsense and they share nothing?
22:12:00 <heat> i was thinking that maybe you could map USB mass storage and ATA commands onto SCSI commands and be done with it
22:13:00 <heat> ah yes, the kernel's libata emulates scsi
22:15:00 <heat> wonder if that dedupes code or something
22:15:00 <heat> maybe the logic really is similar between these interfaces
22:16:00 <gog> heat: afaik it is that the logic is very similar
22:17:00 <gog> idk if i'm misremembering but SATA uses a protocol not dissimilar to ATAPI which is basically SCSI command set pushed over ATA
22:18:00 <gog> which is why the PATA CDROM driver needs SCSI
22:18:00 <gog> and exposes it as a scsi device to /dev
22:18:00 <heat> no SATA uses both ATA and ATAPI
22:18:00 <gog> ah ok
22:19:00 <heat> the big difference is that ATAPI is a packet-oriented interface
22:19:00 <gog> yes
22:19:00 <heat> right now I don't even share ata code between IDE and AHCI drives, I kind of duplicate it kind of
22:19:00 <heat> my error handling is also crap because of that but yeah, works for my simple use case
22:26:00 <heat> i need to set a reminder to buy the fuchsia toolchain team a beer if I ever meet one of them
22:26:00 <heat> freakin life savers
22:28:00 <gog> will you buy me a beer too?
22:29:00 <heat> hmmm depends on the beer
22:29:00 <heat> if its cheap, why not
22:30:00 <heat> guinness? yeah no you better start working on toolchains
22:30:00 <gog> how about a 12pack of genessee
22:30:00 <gog> $6
22:31:00 <heat> i dont endorse yank beer
22:31:00 <gog> ok gull then
22:31:00 <gog> icelandic domestic :p
22:31:00 <gog> a few tall boys should do the trick
22:32:00 <gog> 199isk at vínbuðin
22:32:00 <heat> "enjoyed by Icelanders since March 1st 1989, when the 70 year beer prohibition in Iceland was lifted."
22:32:00 <heat> wow
22:38:00 * blockhead scrolls up ... guiness is "yank beer" now? :o
22:39:00 <heat> genesee is
22:40:00 * blockhead understands now
22:43:00 <zid> guinness is no-potato beer
22:43:00 <klange> need I remind everyone that this is #osdev ;)
22:43:00 * blockhead sorries
22:43:00 <klange> zid: v86 emulates a Bochs graphics adapter
22:50:00 <zid> weird, why it no work then
22:50:00 <zid> cus that's the only graphics adapater I *do* support
22:52:00 <klange> Do you implement the MMIO interface?
22:53:00 <zid> yea
22:53:00 <klange> I suspect it only does the portio interface.
22:53:00 <zid> ah
22:54:00 <klange> which, for what its worth, bochs itself only does the portio interface; the mmio one is a QEMU invention
22:55:00 <klange> ToaruOS 1.x does the portio stuff, 2.0 supports both and presents them as different 'drivers'.
23:01:00 <zid> wouldn't take long to hack in if I cared to at least
23:01:00 <zid> (as in, defining a macro)