klange changed the topic of #osdev to: Operating System Development || Don't ask to ask---just ask! || For 3+ LoC, use a pastebin (for example https://gist.github.com/) || Stats + Old logs: http://osdev-logs.qzx.com New Logs: https://libera.irclog.whitequark.org/osdev || Visit https://wiki.osdev.org and https://forum.osdev.org || Books: https://wiki.osdev.org/Books
srjek has quit [*.net *.split]
xenos1984 has quit [*.net *.split]
woky_ has quit [*.net *.split]
kaichiuc1u has quit [*.net *.split]
getynge has quit [*.net *.split]
nyah has quit [*.net *.split]
gog has quit [*.net *.split]
pretty_dumm_guy has quit [*.net *.split]
smeso has quit [*.net *.split]
terrorjack has quit [*.net *.split]
Burgundy has quit [*.net *.split]
sm2n has quit [*.net *.split]
YuutaW has quit [*.net *.split]
arahael has quit [*.net *.split]
kingoffrance has quit [*.net *.split]
sauce has quit [*.net *.split]
paulbarker has quit [*.net *.split]
remexre has quit [*.net *.split]
paulbarker has joined #osdev
sm2n has joined #osdev
Burgundy has joined #osdev
smeso has joined #osdev
woky has joined #osdev
sauce has joined #osdev
remexre has joined #osdev
pretty_dumm_guy has joined #osdev
xenos1984 has joined #osdev
sheb has quit [Ping timeout: 240 seconds]
dutch has quit [Quit: WeeChat 3.3]
dutch has joined #osdev
anon16_ has joined #osdev
[itchyjunk] has joined #osdev
zid has quit [Read error: Connection reset by peer]
mavhq has quit [Ping timeout: 260 seconds]
zid has joined #osdev
ThinkT510 has quit [Ping timeout: 256 seconds]
mavhq has joined #osdev
ThinkT510 has joined #osdev
Burgundy has quit [Ping timeout: 256 seconds]
<sortie> I have access to shared machine where lots of people have ssh access and I just set up a Sortix server VM with ssh access on that machine, everyone on that shared machine now got a shared Sortix server
<zid> I had access to a shared machine, I had a cool vim config and stuff
<zid> It got taken to a police station in Hesse because someone ran a tor website for drugs.
<zid> I never got my vimrc back.
pretty_dumm_guy has quit [Quit: WeeChat 3.3]
<klange> And that's why we put our dotfiles in git repos... and actually push to a remote regularly..
<klange> fun fact, bim is basically a dedicated recreation of my vimrc
<zid> nice
<klange> Originally bim's hardcoded colorscheme was Wombat.
<klange> Then I added theme support, originally through "a bunch of C functions that set the colors and were bound to commands", and made my own color scheme that I like much more.
<klange> It's based on the same ideas as wombat, but less green.
thinkpol has quit [Remote host closed the connection]
* vdamewood pushes klange to the cloud
thinkpol has joined #osdev
<heat> i've managed to build a binutils that consistently just segfaults
<heat> but in linux
<klange> I still have that wombat theme, so I can do this https://klange.dev/s/Screenshot%20from%202021-12-01%2010-03-38.png
<klange> hm, this vimrc doesn't have the flag to enable highlighting the cursor line...
<klange> But you can see how I tried to closely match the experience I was getting in vim :)
<heat> ohhhhhhh my strip script is stripping object files
<heat> crtbeginS.o has absolutely no symbols
sdfgsdfg has joined #osdev
hbag has joined #osdev
heat has quit [Read error: Connection reset by peer]
heat has joined #osdev
sheb has joined #osdev
<Oli> Good night!
Oli has quit [Quit: leaving]
Retr0id2 has joined #osdev
Retr0id has quit [Read error: Connection reset by peer]
Retr0id2 is now known as Retr0id
tom5760 has joined #osdev
arahael has joined #osdev
smeso has quit [Quit: smeso]
air has quit [Quit: cria 0.2.9cvs17 -- http://cria.sf.net]
smeso has joined #osdev
air has joined #osdev
vin has quit [Quit: WeeChat 2.8]
vin has joined #osdev
<vin> Are there parallel sorting algorithms other than merge sort that do not overlap their working set for most part atleast?
<vin> Ah wrong channel!
sdfgsdfg has quit [Quit: ZzzZ]
<heat> the only answer for sorting algorithm questions is stalin sort
<klange> Is that "Is it sorted? No? Straight to the gulag!"?
<heat> yes
<heat> it's O(n) too
<moon-child> radix time!
<heat> my little sort algorithm: std::sort is magic
sdfgsdfg has joined #osdev
zaquest has quit [Remote host closed the connection]
<geist> haha sorted straight to the gulag
<zid> Did you enjoy your 4 hours in the irc cloud gulag?
<geist> i dunno, did it actually dissapear?
<geist> oh maybe it was the 1 hour between 15:47 and 16:53 that looked like a netsplit
<geist> hmm, maybe they didn't do their maintenance. i dont see a place where a bunch of irccloud users popped off or whatnot
zaquest has joined #osdev
<zid> oh well, we can try getting rid of you tomorrow I guess?
<zid> could probably rent some cloud machines and try to ddos you or something
<geist> wow no love tonight
<zid> I was promised something, and now I have my heart set on it
<heat> a monitor?
<heat> or do you still really want a switch
<zid> Either is acceptable
[itchyjunk] has quit [Quit: Leaving]
heat_ has joined #osdev
heat has quit [Read error: Connection reset by peer]
heat_ is now known as heat
brenden has joined #osdev
brenden has quit [Client Quit]
sdfgsdfg has quit [Quit: ZzzZ]
ElectronApps has joined #osdev
vin has quit [Quit: WeeChat 2.8]
gog has joined #osdev
xenos1984 has quit [Quit: Leaving.]
sdfgsdfg has joined #osdev
anon16_ has quit [Ping timeout: 256 seconds]
givemeyourpies has quit [Ping timeout: 256 seconds]
givemeyourpies has joined #osdev
TheArcticCat has joined #osdev
Burgundy has joined #osdev
heat has quit [Remote host closed the connection]
heat has joined #osdev
elastic_dog has quit [Ping timeout: 260 seconds]
elastic_dog has joined #osdev
heat has quit [Remote host closed the connection]
heat has joined #osdev
amazigh has quit [Read error: Connection reset by peer]
amazigh has joined #osdev
amazigh has quit [Client Quit]
amazigh has joined #osdev
jstoker has quit [Remote host closed the connection]
sdfgsdfg has quit [Quit: ZzzZ]
jstoker has joined #osdev
GeDaMo has joined #osdev
Belxjander has joined #osdev
sdfgsdfg has joined #osdev
the_lanetly_052 has joined #osdev
the_lanetly_052 has quit [Max SendQ exceeded]
the_lanetly_052 has joined #osdev
the_lanetly_052 has quit [Max SendQ exceeded]
the_lanetly_052 has joined #osdev
the_lanetly_052 has quit [Max SendQ exceeded]
the_lanetly_052 has joined #osdev
the_lanetly_052 has quit [Max SendQ exceeded]
the_lanetly_052 has joined #osdev
the_lanetly_052 has quit [Max SendQ exceeded]
the_lanetly_052 has joined #osdev
the_lanetly_052 has quit [Max SendQ exceeded]
givemeyourpies has quit [Quit: Going offline, see ya! (www.adiirc.com)]
the_lanetly_052 has joined #osdev
heat has quit [Remote host closed the connection]
heat has joined #osdev
LittleFox has quit [Quit: ZNC 1.8.2+deb2+b1 - https://znc.in]
LittleFox has joined #osdev
LittleFox has quit [Client Quit]
ElectronApps has quit [Remote host closed the connection]
heat has quit [Ping timeout: 245 seconds]
LittleFox has joined #osdev
givemeyourpies has joined #osdev
LittleFox has quit [Quit: ZNC 1.8.2+deb2+b1 - https://znc.in]
freakazoid343 has quit [Ping timeout: 240 seconds]
LittleFox has joined #osdev
xenos1984 has joined #osdev
dormito has quit [Quit: WeeChat 3.3]
kingoffrance has joined #osdev
LittleFox has quit [Quit: ZNC 1.8.2+deb2+b1 - https://znc.in]
LittleFox has joined #osdev
LittleFox has quit [Quit: ZNC 1.8.2+deb2+b1 - https://znc.in]
LittleFox has joined #osdev
sdfgsdfg has quit [Quit: ZzzZ]
xenos1984 has quit [Quit: Leaving.]
xenos1984 has joined #osdev
dormito has joined #osdev
pretty_dumm_guy has joined #osdev
terrorjack has joined #osdev
jjuran has quit [Ping timeout: 268 seconds]
jjuran has joined #osdev
<zid> we doing advent of code?
sdfgsdfg has joined #osdev
<klange> I'm doing it in Kuroko this year. I didn't start working on Kuroko until after AoC last year, so I had done it all in Python and ported a few after the fact.
[itchyjunk] has joined #osdev
<klange> what if i do an advent calendar of ToaruOS 2.0 RCs
<zid> which one is the ayame theme pack
Oli has joined #osdev
<MelMalik> meow
ElectronApps has joined #osdev
immibis has quit [Remote host closed the connection]
<bslsk05> ​github.com: Release ToaruOS v1.99.10 · klange/toaruos · GitHub
<zid> klange
<klange> zid
<zid> can you boot toaruos in qemu
<zid> and tell me what's at the 10 bytes pointed to by IDT=
<zid> It's corrupt in mine and someone else's qemu + software, I want some DATA
<MelMalik> a painful loss of innocence
<klange> 0x70 0x01 0x08 0x00 0x00 0x8e 0x10 0x00 0x00 0x00
<zid> same in yours then
<zid> 0x8e000008
<klange> uh, that's the gate I wrote
<zid> oh right I forgot I had an idea before I went to bed
<zid> that it doesn't print the IDT it prints the IVT=
<zid> and that we all just have a common looking IVT[0]
<klange> it prints the idt, but not the idtp
<zid> GDT it prints the address of the base+limit thing
<zid> IDT it seems to print *base
<klange> When you load the idt from and idtp, the idtp is discarded
<klange> the actual idt address is the only thing that remains
<klange> The IVT is a different thing, that's the old real mode table.
<zid> yea I just needed a name
<zid> the table with the vectors in it
<zid> even though those are now IDT entries
ahalaney has joined #osdev
waltoter has joined #osdev
<j`ey> klange: I see youre trying to comment everything now, very nice
sdfgsdfg has quit [Quit: ZzzZ]
<klange> 'trying' being the operative word, but yeah
<klange> anyway, someone's gone and scheduled a meeting for 9am tomorrow, so I'm gonna call it a day
<j`ey> you should add a 'private meeting' in your calendar from 9am-10am every day >:D
waltoter has quit [Remote host closed the connection]
isaacwoods has joined #osdev
dennis95 has joined #osdev
waltoter has joined #osdev
<waltoter> i may be late to the party here, but isn't there pretty serious controversy concerning the ME?
<waltoter> and potential backdoor uses on laptops? i only recently became aware of it
<riv> the IME?
<riv> it runs minix lol
<j`ey> which is why minix is the most popular OS!
<zid> only an issue if you think it's an issue
<zid> all hardware pretty opaque has firmware or silicon doing stuff you're not aware of from the programming model
<zid> is pretty*
waltoter has quit [Remote host closed the connection]
<MelMalik> transparency would be nire
<MelMalik> nice(
<MelMalik> *
ravan has quit [Remote host closed the connection]
ravan has joined #osdev
isaacwoods has quit [Quit: WeeChat 3.3]
andydude has joined #osdev
sprock has quit [Ping timeout: 256 seconds]
dennis95 has quit [Read error: Connection reset by peer]
dennis95 has joined #osdev
Dreg has joined #osdev
sheb has quit [Quit: Leaving]
hxx has joined #osdev
<hxx> Can I write a C/C++ compiler in a different language from C/C++?
<j`ey> yes
<zid> ofc
<zid> how do you think the first C compiler was made? or.. any compiler
<zid> given cpus only understand machine code
andydude has quit [Ping timeout: 252 seconds]
<hxx> I'm a bit confused though about how independent the runtime is from the compiler.
<zid> fully
<zid> The only requirement for producing the standard library is that you can spit out machine code that follows the ABI that the C program uses
ElectronApps has quit [Remote host closed the connection]
<bslsk05> ​en.wikipedia.org: Tombstone diagram - Wikipedia
nvmd has joined #osdev
waltoter has joined #osdev
andydude has joined #osdev
waltoter is now known as waltster
andydude has quit [Quit: andydude]
nvmd has quit [Quit: Later, nerds.]
hxx has quit [Quit: Leaving]
andydude has joined #osdev
<waltster> does anyone know of somewhere to buy the intel architecture manual? have they been sold as a book? i have a pdf but it's too expensive to print it page by page
<GeDaMo> They used to send you a copy for free if you asked, not any more though
<GeDaMo> There's a link to on-demand printing on the Intel site https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html
<bslsk05> ​www.intel.com: Intel® 64 and IA-32 Architectures Software Developer Manuals
dormito10 has joined #osdev
<waltster> thank you
dormito has quit [Ping timeout: 252 seconds]
<Bitweasil> A decent tablet to read it is probably cheaper than having it printed out regularly. :/
<waltster> Bitweasil or even a spare monitor, I am just limited in screen space when writing code or writing ideas
[itchyjunk] has quit [Remote host closed the connection]
xenos1984 has quit [Quit: Leaving.]
<Bitweasil> I used an iPad for it, for a while. Now I use a big e-ink tablet.
sprock has joined #osdev
mahmutov has joined #osdev
<zid> I have the manuals but I rarely use them over the pdf
<waltster> would you suggest a book on OS development or the intel manual?
<zid> In other news, finally got a sub-minute rubiks cube solve
<j`ey> zid: nice
<zid> 49s with no oll/pll skips
<waltster> zid: that's even more impressive
<j`ey> zid: sub50 even :o
<zid> well it's no sub 10, but for doing all the steps with no skippages on a slow cube by an idiot it's pretty good
<zid> random cross, no pre-made f2l pairs or anything, F sexy sexy F' to turn oll into a sune, sune then double sun U perm to finish. All Hail Sune.
<j`ey> you'll get a sub49 sune
<eryjus> zid: not even a speed cube? nice!
<Bitweasil> waltster, both? The two aren't exactly the same.
<riv> wd zid
<zid> It is but it was $4 and needs some oil
<Bitweasil> An OS dev book *should* be mostly architecture independent. The Intel manual isn't an OS dev book, but describes the architecture.
<zid> I'm barely faster than a rubik's brand, but this one doesn't have stickers that have all come off or bleached in the sun :p
<Bitweasil> The ARM reference manuals, similarly, aren't OS dev books, but describe the ARM architecture.
<Bitweasil> If you're going to buy a book, though, the Intel manuals are freely available in PDF form.
<waltster> Bitweasil, yeah, you're right. I guess I was meaning which is a better starting point. I am definitely targeting an intel processor, but which book on os development would you suggest?
<zid> I'd get comfortable with programming as an absolutely mandatory first step
<Bitweasil> Where are your skills at this point?
<waltster> zid, programming isn't the issue, it's all O.S. theory that interests me
<Bitweasil> Have you written kernel modules? They're a good starting point.
<zid> Okay so you could write me a bunch of code without any standard library?
<riv> the book i really like about OS is the minix book http://www.minix3.org/doc/
<zid> you can write me an elf loader, use a linker and linker script,e tc?
<waltster> Bitseasil, i do not really have a good metric for that haha
<Bitweasil> If you're solid in C and ring 0, then you've got what you need, otherwise...
<riv> the message passing stuff is awesome
<zid> in C or assembly, not python or something
<waltster> zid, sure! it will not be optimized or secure necessarily, hence the theory interest, but i could do that!
<Bitweasil> If I give you a struct in C, do you have to look stuff up to be able to figure out the memory alignment and such?
<waltster> No
<Bitweasil> This is the sort of stuff that's useful. Ok.
<riv> you know struct field mem alignment by heart? lol
<zid> okay good, so you'll probably be fine reading the intel manauls to get paging etc set up along with the osdev wiki or whatever
<riv> waltster: book rec ^
<waltster> riv, got it!
<Bitweasil> riv, for basic types, yeah. :/
<riv> i don't :P
<zid> there are only basic types
<waltster> riv, that's the one i was looking at
<zid> char, short, int, long, name another type I dare you
<Bitweasil> In C, yeah. I couldn't reason about how std::strings are aligned in C++ structs.
<zid> I assume all :: things are pointers
<Bitweasil> Pointer, MMX/SSE/AVX types, etc.
<riv> I need to learn how C++ works at some point
<zid> floats don't exist they're a scam
<Bitweasil> Magic and virtual function tables, mostly.
<zid> lots and lots and lots of copying code
<zid> and praying the linker deduplicates it
<zid> If you have grub installed and wanna spend 5 minutes reading the multiboot spec you could have some code running in protected mode
<Bitweasil> Which does skip a lot of the esoteric old obscure stuff. :)
<bslsk05> ​www.felixcloutier.com: x86 and amd64 instruction reference
<zid> yea my main main main main advice for x86: do not fuck with real mode, ever
<Bitweasil> Eh, it's not /that/ bad.
<Bitweasil> Just not really relevant anymore.
<waltster> zid, i have a little kernel going and i've got a stable little bootable thing. it just remaps the descriptor tables right now but i am looking for some reference material going forward
<zid> you did that without the manual? not bad :D
<waltster> education is my main goal here! and thank you! :)
<zid> just keep adding random shit to it then
tom5760 has quit [Remote host closed the connection]
tom5760 has joined #osdev
<zid> write a printf, get some cool numbers flowing, add serial port output, etc
the_lanetly_052 has quit [Ping timeout: 252 seconds]
<waltster> I used the manual for some information about the segment selectors and which exceptions have an error code
<waltster> here's a question: with a multiboot memory map if there is hole/damaged/reserved memory should my physical allocator pay attention to that when allocating, or does the MMU automatically remap addresses to avoid that kind of thing?
<waltster> in x86
<zid> You control the MMU, via page tables
<zid> gaps in physical memory are gaps in physical memory, there's nothing there
<riv> I think GRUB tells you about holes you need to avoid doesn't it
<zid> use virtual memory (paging) if you want your address space to look contiguous
<zid> You probably won't get real 'gaps' though, more like, there might be a random ACPI table or something in some of your physical memory somewhere
<waltster> so my page frame allocator should check the status of each page as it allocates to make sure its usable?
<waltster> before mapping
<waltster> physical pages
<zid> typically you'd just go over the e820 and 'add' the ranges to your allocator as free memory
<zid> you hand out pages to the allocator until you run out, or someone gives some back
<zid> The simplest physical allocator for use with paging would just be to use a giant stack
<zid> if you're not using paging you get the honor of trying to track free memory without calling yourself recursively to get memory to store it in and exploding
<Bitweasil> ^^ The e820 map or whatever the UEFI replacement is will tell you what physical ranges are available.
<Bitweasil> Operate outside those at your own peril.
<waltster> Noted!
<zid> There's probably something there, if you see a gap, it just isn't free memory
<zid> like, a pci-e device
<zid> depending on how brain dead your bios is
<Bitweasil> Linux early boot dmesg gives you the e820 map.
<Bitweasil> er
<bslsk05> ​gitlab.manjaro.org: Tobias Schramm / linux-pinebook-pro · GitLab
<Bitweasil> *stabs copy/paste*
<zid> low mem, vga/bios/blah reserved, some memory, acpi tables in memory, pci-e devices, rest of memory
<Bitweasil> Yeah, anyway. I can't copy/paste right apparently.
<Bitweasil> But there are 'usable' and 'reserved' and 'other stuff' - don't allocate memory in 'reserved' :)
dude12312414 has joined #osdev
<gog> i do what i want
* waltster goes AFK
waltster has quit [Quit: Leaving...]
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
hxx has joined #osdev
<junon> Just a high level question looking for a non-detailed, generalized answer: how different is ARM to x86 when it comes to things like IDTs, GDTs, VGA, etc.? Are there analogous facilities on ARM or is it quite different? I haven't gotten around to reading the ARM manual yet, just wanted to get an idea.
<junon> I realize the ISA is entirely different, my head isn't that far into the sand.
<zid> bit of culture shock but not amazingly different when you get down to it?
<j`ey> there's no VGA or GDT
<junon> okay
<zid> you can have VGA
<zid> stick a pci-e graphics card in a pci-e slot
<junon> So it still has concepts like interrupts and rings?
<zid> bam
<j`ey> junon: yes, rings are called exceptions levels
<junon> cool
<junon> thanks :D
<j`ey> but yes, as zid said it's mostly analogous, just different in the details
<junon> Awesome :)
<zid> ARM doesn't have the 'PC' to go with it, is the main difference between x86 and 'not x86'
<junon> What do you mean?
<zid> so you may not have things you sort of expect, like vga
<zid> or a serial port
<zid> or anything else
<junon> Program counter? Or personal computer?
<junon> Ahh I see
<zid> The ARM is just a chip and people hook it up to *weird* things
<junon> It's not batteries included, is what you mean.
<junon> Makes sense. x86 is super bloated anyway. Some of the legacy extensions are wild.
<zid> legacy extensions?
<j`ey> junon: is your code public
<junon> A long time ago I came across a site that listed a bunch of chip-specific extensions that could be accessed via weird interrupts.
<zid> like, pcjr stuff?
<junon> j`ey: unlisted, I'm not ready to show it off yet.
<nshp> junon: I think zid meant peripherals, not ISA bloat. ARM is still full of plenty of odd instructions, you'll feel right at home with that
<zid> That sounds like bios routines
<zid> nothing to do with x86 or PC
<junon> nshp: yeah I figured
<Bitweasil> The other big difference is no port IO (IN/OUT) for peripheral access - it's *all* memory mapped.
<nshp> but hey, you don't have to start in real mode
<Bitweasil> Including stuff like PCI config registers.
<junon> zid: no it was definitely x86 stuff, I don't remember the specifics. I wish I could find it, it was some dude that enumerated a bunch of weird old x86 stuff.
<zid> Bitweasil: tbh, that *is* like modern x86
<Bitweasil> Eh, modern x86 still uses an awful lot of IO ports.
andydude_ has joined #osdev
<Bitweasil> Most of it has a MMIO *option* - but it's initially probed and configured on IO ports.
<junon> Bitweasil: oh nice, more like the 6502
<zid> you have to shut the pic off, that's it
<zid> pci-e doesn't need io ports at all
<Bitweasil> But it's still on them, and at least a few years back, everything still uses that.
<Bitweasil> Filter PCI devices from Linux on CF8/CFC and it won't touch them in the MMIO extended regions.
<Bitweasil> As of 2016 or so this was true.
<zid> whether linux has bothered to update things
<junon> j`ey: I'm still polishing up the build system and the kernel and want to bolt on a checker pass for the C code before I publish anything.
<zid> is fairly tangential
<junon> I'm a pro at spreading myself way, way too thin.
<j`ey> junon: good luck!
<junon> Thank you, I'll need it.
andydude has quit [Ping timeout: 252 seconds]
andydude_ is now known as andydude
<Bitweasil> Also, A series ARM has only one IRQ to the processor, typically.
<Bitweasil> The M series get the good vectored interrupt controllers, A series doesn't. :(
<zid> regular ass PCI needs it annoyingly, nicer if it's behind a pci-e bridge :P
<j`ey> Bitweasil: what do you mean only one IRQ?
<Bitweasil> An A series ARM processor, ARMv7/ARMv8, has one vector for IRQs.
<Bitweasil> IRQ and FIQ are it for hardware interaction, you have to go query the interrupt controller for everything else about what just happened.
<junon> I'm almost done with the interval library I need to write the hoare engine. Definitely shaved several yaks already.
<j`ey> Bitweasil: oh I see what you mean
<Bitweasil> x86 has the whole 256 entry IDT thing you can route interrupts to.
<Bitweasil> But that's only on M series ARM processor cores.
<zid> I mean, had, it now has ioapicx2mmusuperbusx
<Bitweasil> Sure, but you can route things so IRQ 7 goes to the foobang handler.
<Bitweasil> Vs "Hey, an interrupt! What happened? Oh, it's the foobang handler? Ok, uh... yeah, let me call that."
<Bitweasil> Not a huge difference, but it's still there.
xenos1984 has joined #osdev
dennis95 has quit [Quit: Leaving]
heat has joined #osdev
<amazigh> homebrew 16-bit cpu with an os https://github.com/jes/scamp-cpu
<bslsk05> ​jes/scamp-cpu - A homebrew 16-bit CPU with a homebrew Unix-like-ish operating system. (1 forks/32 stargazers)
freakazoid12345 has joined #osdev
nvmd has joined #osdev
eryjus has quit [Ping timeout: 240 seconds]
eryjus has joined #osdev
<jjuran> zid: I'm doing Advent of Code in Varyx again
<zid> never heard of it
<jjuran> Unsurprising. It's mine
hxx has quit [Quit: Leaving]
waltster has joined #osdev
<rustyy> jjuran: i am also thinking about doing AOC, you don't have to log in there, do you? it seems like the problem is fully described, what do you get when you log in? ide and test cases like on leetcode and hackerrank?
<zid> you can use your github
vdamewood has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<zid> nah just a form to submit an answer
<zid> and a link to a .txt for each level's input
<rustyy> zid: perfect tyvm
<Bitweasil> Advent of Code? Unfamiliar.
<waltster> Yes, please explain!
<zid> you type it into your browser of choice
<GeDaMo> Christmas themed programming challenges in December
<heat> pretty much
<heat> good for learning new languages
<heat> at least at the beginning, I usually give up in the second week :P
waltster has quit [Quit: Leaving...]
sprock has quit [Ping timeout: 256 seconds]
<geist> amazigh: neat. i'm always a fan of those things
<geist> are the advent challenges intentionally more difficult as time goes on?
<amazigh> yeah me too, I look around the emulator to see I can put together a simple thing with which I can learn osdev
<amazigh> geist: ues
<amazigh> geist: yes
<heat> geist: yes
<amazigh> i never played advent of code, tho.
<geist> i've built a few different ISAs over the yaers but never gone so far as to try to build a TTL version of them
<amazigh> TTL?
<geist> i've done some verilog of them though which is fun
<geist> TTL as in using 74LSXXX chips to implement it, which is probably what they're doing
<geist> (transistor to transistor logic)
<amazigh> I am planning to target a regule x86-ish thing, but I very noob with assembly, so maybe using a simpler 16-bit cpu will help get into the spirit of bare metal assembly
<geist> when you say an x86-ish thing what do you ean specifically?
<amazigh> amd64 i guess
<heat> you don't need the spirit of bare metal assembly
<amazigh> I mean a common cpu
<heat> that's very much a curse
<amazigh> how so? what do you mean?
<amazigh> I forgot to mention I want to compile a lisp to assembly
<heat> well writing assembly is a small part of osdev
<heat> you don't need to be an assembly god
<zid> Bare metal assembly is like driving a model T ford
<amazigh> ah ok i get that
<geist> right, i wouldn't get too fixated on it, thoug you really should have a reasonable understanding of what the programming model of the cpu looks like
<zid> Interesting and bizzare, part of history, worth poking at
<geist> but that's fairly universal. registers, stacks, etc
<zid> but not your daily driver
<junon> amazigh: If you want to understand the spirit of asm via something relatively gentle, then maybe play with the 6502 and make a tiny NES game on an emulator. nesdev.org is a good resource. That will introduce you to the concepts of machine code concepts (registers, instructions, etc.) and scales decently well to x86/arm.
<zid> gameboy for life
<zid> NES sucks
<geist> yah i was about to say i personally leaned asm on 6502 and i think it's a nice intro
<zid> it's archaic and annoying, both in terms of cpu and hardware
<amazigh> (I need to know the target of my language / os, pretty much all cpus are register based with some kind of assembly)
<geist> FWIW amd64 == x86-64, so it's really the same thing
<junon> But geist, AMDIsBetter!
<amazigh> junon: great!
<geist> that being said if you're going to generate code in some sense x86 is not too bad because there are a lot of instruction choices
<geist> so your generator may be more or less a 1:1 thing
<junon> (pls get reference :c)
<geist> but on the flip side that means there are a lot of options
<amazigh> what do you mean by 1:1 thing?
<geist> well, for any given op you might be able to just directly map it to an x86 instruction, since it's CISCy
<amazigh> (hopefully, the object language is Kernel)
<Bitweasil> zid, Model T? All the controls are wrong? :p
<zid> yep
<zid> x86 can basically implement C operators directly
<zid> it has xor, not, neg, shift, test, etc
<geist> but that does mean there are more choices and more stuff to learn to know which ones to use, etc. so it's a tradeoff
dormito10 has quit [Ping timeout: 256 seconds]
<zid> ('neg' is pretty rare)
<zid> x86 even has &T->t[] as an operator :P
<amazigh> what is better / easier / more interesting for me nes or gamboy?
<amazigh> I never played the nes
<zid> gameboy is a much more interesting architecture with way fewer dumb limitations
dormito10 has joined #osdev
<amazigh> how does gamboy relate to x86-64?
<zid> like colours not lining up with the grid the same way the graphics do..
<zid> gb's cpu is like an 8080
<moon-child> amazigh: uses a z80
<moon-child> ~z80
<zid> depends how you slice it whether it's more like an 8080 or a z80
<geist> which is a very close relative to 8086
<zid> which is like an 8286, which is like an 8386, which is like an 8486 which is like a pentium which is like a skylake xeon.
<junon> The upside of the NES dev is that it's very very well documented and has an active community.
<zid> gameboy is far better documented imo
<zid> They both have 'all the docs' but the NES ones are awkwardly strewn about on a not very well written wiki
<geist> zid: question: does the gameboy cpu have pc relative branches?
<amazigh> moon-child: z80 has a good emulator with graphics?
<zid> It only has pc relative branches, or a single absolute one
<geist> right. okay, curious if it had picked that part of z80 up. i was surprised to learn that 8080 only had absolute
<zid> now you're making me question it
<zid> yea, they are rel, phew
<bslsk05> ​izik1.github.io: gbops - The Game Boy opcode table
andydude has quit [Quit: andydude]
<zid> also has conditional calls
<geist> yah one of those things you dont notice until you fiddle with it, buti was piddling with CP/M on an altair and noticed that 8080 was absolute all the time
<geist> causes some fun for relocating CP/M itself, which actually has a program to manually re-relocate the CP/M kernel based on how much ram you have
<zid> an mmio op that's a byte shorter than normal, an auto-increment addressing mode
<zid> and z80 4bit ALU style half-carry for BCD
<zid> but no shadow or index regs
<geist> yah didn't pick up the ix or iy stuff from z80
<geist> i see only 0xcb prefix implemented
<zid> yea 0xcb was the ix iy prefix I think on z80
<zid> instead you get.. every single bit op :D
<geist> not sure. looks like 0xeb is a space on z80, and 0xcb is mostly bit ops. i think the ix/iy prefixes are something else
<zid> also missing: the.. memory refresh register
<zid> which was apparently exposed on the z80
<geist> was looking at my z80 emulator, but i hadn't added ix/iy support yet
<geist> yeah z80 is a bit annoyng to work with on a board since it constantly emits a memory refresh cycle
<geist> kinda wish you could turn it off, it's constant noise
<zid> so yea, it's a very unlike a z80 in that it doesn't have any of the bits that would distinguish it from x86
dude12312414 has joined #osdev
<zid> but it uses z80's encoding for the most part
<zid> so whatever you wanna call it works tbh
<geist> but i guess it does have the property that all memory accesses are via the (HL) pair?
<geist> since IX/IY doesn't exist?
<zid> [bc], [de], [sp], [hl]
<geist> i always thought that was a bit unweidly, but once you get the hang of it not too bad.
<geist> aah okay so that's also a z80ism
<zid> aka bx dx sp si/di :P
dude12312414 has quit [Client Quit]
<geist> 8080 you can *only* access via [HL], and the intel syntax uses 'M' in the place
<zid> also, immediate, and immediate mmio
<bslsk05> ​en.wikipedia.org: Zilog Z80 - Wikipedia
<zid> LD A, (FF00 + u8) and LD, A (FF00+c) are cool instructions
<zid> all the mmio and stack is up in the last page, so you have 1/2 byte mmio reads
dutch has quit [Quit: WeeChat 3.3]
nyah has joined #osdev
<geist> yah did you see the righto.com teardown of it?
<geist> it's pretty neat
<geist> the z80 alu and whatnot?
<heat> yo is anyone here familiar with sanitizer internals?
<zid> as in, ubsan etc?
<heat> asan yes
<heat> but proper compiler-rt/libsanitizer
<bslsk05> ​www.righto.com: The Z-80 has a 4-bit ALU. Here's how it works.
<zid> One weirdness about half carry is that gbz80 has 16bit ops that set flags
<zid> so there's no sort of 'intuative' way it should set H
<zid> does it do it from the high nibble + high nibble sum's middle bit, or save it from low + low because that's bit 4 where half carry is
sprock has joined #osdev
<geist> yah when writing the emulator getting the flags right on that thing is a nightmare
<geist> the flags are pretty nonintuitive and dont work the way motorola style flags are updated
<geist> especially the way carry is computed WRT sub and whatnot
andydude has joined #osdev
<geist> at some point i had to just start screwing around to amke it work, since i kept finding conflicting descriptions of precisely how the flags are computed in every case, and conflicting descriptions of precisely what flags are updated on what instruction
dutch has joined #osdev
waltster has joined #osdev
GeDaMo has quit [Remote host closed the connection]
sdfgsdfg has joined #osdev
m3a has quit [Ping timeout: 268 seconds]
waltster has quit [Remote host closed the connection]
m3a has joined #osdev
<zid> yea there's a few wrong docs out there for every cpu
<zid> hardest part about gbcpu is the bcd adjust op doesn't work like z80
<zid> so everyone says "do it like z80" but they're wrong
<bslsk05> ​github.com: gameboy/cpu.c at master · zid/gameboy · GitHub
<zid> cpu was the easy part though, the LCD still isn't perfect
<zid> it's supposed to have a fifo on the pixel clocker that delays raster effects by 8 pixels that I don't support, and OAM fetches are supposed to push back BG/Sprite by a clock
<zid> also the interrupts for it are technically wrong but nobody would really care
<zid> still fails a test case though :D
<zid> at least I am in the privledged position in emulator development of knowing *why* it's wrong
dormito10 has quit [Quit: WeeChat 3.3]
sdfgsdfg has quit [Quit: ZzzZ]
waltster has joined #osdev
andydude has quit [Quit: andydude]
<j`ey> omg, apparently '//' isnt a valid comment ina linker script
<zid> Thank god.
<zid> It's not C++
<j`ey> I had: //.text 0x40080000\n.text 0x0
<j`ey> and my text section was being placed at 0x4008000..
<junon> /* these are the only comments I know of that are supported */
<zid> aka C style
<junon> at least with ld linker scripts.
<junon> c90 style :D
<zid> // are known as C++ style, in C
<j`ey> sure, but I just wanted to comment out something quickly for a test
<zid> knowing what the comment char is is never easy though
<zid> it might have been ; or # or such too
<junon> move fast and break your builds
<waltster> a test? not allowed!
<junon> yeah
<junon> or -- if we're doing lua
<junon> or I think sql...
<junon> " for vim
<j`ey> I would call this a bug though, it shouldnt allow: //.text 0x40080000 : {\n.text 0x0 : AT(0) {
<waltster> (* *) for pascal
<j`ey> and then create a section called //.text...
<zid> why not
<junon> technically that's allowed per ELF.
<zid> if you ban characters, you just limit what files you can deal with
<j`ey> well the linkerscript had mismatched {} for one
<zid> I can make you a lovely virus you can't open with readelf etc
<junon> It is 11pm almost and the radiators in my building are off, inexplicably.
<zid> they think you should be fast asleep
<junon> I have my parrot huddled next to me for warmth :c he's cold.
<zid> birb
<junon> birb
<bslsk05> ​paste.gg: pastefile1 · paste.gg
<junon> a big birb
<zid> real parrot, not a teeny one?
<junon> oh yeah, weird. It should have puked on the mismatched {} indeed.
<junon> zid: yep, a male eclectus
<zid> oh smallish
<zid> but not smol
<bslsk05> ​twitter: <bad_at_computer> New wrist watch. A bit high maintenance and has a terrible alarm sound. Doubles as a pair programmer when needed. #Parrot https://pbs.twimg.com/media/FB_1H8iXIAAhSYH.jpg
<zid> macaws and parakeets are the ones I see most of
<zid> oh and budgies
andydude has joined #osdev
<Bitweasil> "Bluetooth pairing is about as reliable as any other smartwatch."
<zid> til blue for budgies is a bred thing
<junon> Yeah macaws and budgies are what dominate the parrot toy market, which is annoying because my guy only likes soft wood toys. Macaws need hard wood, budgies need paper and super soft materials. Hard to find good toys :|
<zid> wild ones are all the green colour
<junon> zid: yeah, blue in most parrots is a mutation. Same with alexandrines and ringnecks.
<zid> macaws are blue!
<junon> Oh true
<junon> And hyacinths, too.
<zid> we've had budgies, but I wouldn't get a real parrot
<zid> I don't need a flying toddler
<zid> for 30 years
<junon> You are 100% correct.
<junon> Lucky just went through puberty. He's on the tail end of it, at least.
<junon> 1.5 - 3 years of screaming, random aggression, other annoying/gross behaviors...
<junon> But he's a rescue so I can't be mad.
andydude has quit [Ping timeout: 256 seconds]
sprock has quit [Ping timeout: 256 seconds]
<junon> yay fixed some long standing issues with path composition in my build system. v much better now.
<waltster> i use the same laptop for uni, work, osdev, and personal use and it gets so frustrating. i need to find a low-end x86 desktop and have a dedicated osdev machine.
<zid> unfix it, now you haven't got any easy work to do in future when you get unbusy
<zid> waltster: I just run a VM for each ;)
<zid> I do my osdev as windows -> vmware running linux -> qemu running OS
<junon> Yeah I use WSL (do not recommend. I have sunken cost fallacy brain) -> linux -> qemu for early dev, VMware for graphics dev
ahalaney has quit [Quit: Leaving]
jjuran has quit [Quit: Killing Colloquy first, before it kills me…]
jjuran has joined #osdev
<klange> I did WSL2 → QEMU running in nested virtualization under Linux → ToaruOS on my Surface for a bit...
<waltster> finally created an account on the forums
<waltster> klange, zid, junon: i have no right to complain anymore haha
<klange> make sure you post something
<waltster> klange: just did.
<Bitweasil> zid, ew. Run Linux on the iron. Win10 virtualizes decently if you use the RedHat virtio drivers.
<junon> holy storm batman. Maybe that's why the radiators are out.
<junon> The wind sounds like bombs going off.
<zid> Bitweasil: I don't use w10 though?
<Bitweasil> What do you run on the iron?
<zid> and I want accelerated 3D
<zid> w7
<Bitweasil> Isn't that EOL?
<zid> nor do I want to run redhat..
<Bitweasil> Same argument applies.
<Bitweasil> No, RedHat just publishes signed virtio drivers for Windows.
<Bitweasil> You can use Ubuntu just fine.
<zid> even worse
<zid> I want to run my development environment, or have my development environment in a VM
<zid> and that means gentoo
<Bitweasil> But it lets Windows talk virtio for block/network/etc, instead of having to pretend it's hardware.
<zid> okay, now do the same for nvidia
<zid> and we'll talk
<Bitweasil> *shrug* Ok.
<Bitweasil> I don't care about GPU acceleration anymore.
<zid> I could put both GPUs in I suppose
<klange> gotta play my cat girl simulator
<zid> but I'd need a hdmi switcher
<zid> (then pass one through)
<klange> Cat Girls Go to the Moon expansion goes into early access tomorrow
<Bitweasil> Project Looking Glass lets you pass a discrete GPU to a Windows guest, and have low latency copy back to your desktop.
<bslsk05> ​looking-glass.io: Looking Glass - Looking Glass
<zid> yea that'd solve the hdmi switcher
<Bitweasil> If you've got a display GPU and a "VM GPU," that would be worth looking at.
<Bitweasil> Looking Glass is targeted at extremely low latency use requirements on the local computer, it is not designed to stream over a network or pipe but rather through a block of shared memory. In current testing at a refresh rate of 60Hz it is possible to obtain equal or better then 16 milliseconds of latency with the guest. If the user doesn't care for VSYNC this can be further reduced to under a few milliseconds on average.
* waltster thinks Bitweasil copy and pasted just not
<Bitweasil> Yes, I did.
<Bitweasil> That's the relevant chunk of the website in this discussion.
<waltster> :D
hxx has joined #osdev
<Bitweasil> Though I could probably bang it out if I wanted to.
<Bitweasil> I've got a good mechanical keyboard.
<hxx> Is there an example of an POSIX compliant or mostly POSIX compliant OS that isn't written in C? Just wondering.
<waltster> my friend got me one for christmas a few years ago and i love it
<klange> I have a bunch of cheap local brand Cherry boards
<zid> My cherry keyboard was the worst keyboard I have ever seen by a long margin
<moon-child> waltster: your friend got you a posix-compliant os not written in c? :)
<heat> hxx: sortix
<heat> my own too
<waltster> moon-child: haha
<heat> although if you expand POSIX compliant OS to compat layers you'll probably have a bunch more, like WSL
<sortie> heat, well Sortix is C, just the kernel is some fairly C-like C++
<klange> zid: As in you had an actual board made by Cherry? Their _keyboards_ are mediocre at best, it's their switches everyone loves.
<hxx> Is it pretty much mandatory to write POSIX API in C?
<zid> yea
<zid> to both of those
<sortie> hxx, well POSIX is a C API
<heat> managarm as well I think
<sortie> You can implement it in whatever language can express a C API, such as C++ probably
<zid> posix needs to override parts of the C standard library's behavior which makes it kind of tricky tbh
<sortie> But POSIX is a C API
<klange> Apparently Cherry makes a bunch of rubber dome boards and all I can think is someone buying one and saying "yeah I got cherry keys"...
Burgundy has quit [Ping timeout: 256 seconds]
<zid> klange: It was just a cheap keyboard that looked like nice plastic or whatever
<zid> but every single key would just stick down and never come back up
<heat> oh android is too if you count the POSIX API as the user-space thing
<heat> since bionic is a weird hybrid of C and C++ lol
<klange> > posix needs to override parts of the C standard library's behavior which makes it kind of tricky tbh
<hxx> POSIX API would be written in the userland, not the kernel, right?
<klange> POSIX actually says anything it fucks up about the C standard is wrong and you should defer to the C standard.
<bslsk05> ​www.pckeyboard.com: Unicomp, Inc.: New Model M
<sortie> hxx, yeah the system calls in the kernel can be implemented in whatever language
<klange> It _adds_ things on top of the C standard, it does not modify the C standard.
<zid> it doesn't fuck it up, it outright changes it
<heat> hxx, yes but it generally calls the kernel which usually has a similar API
<heat> i.e open(3) calls open(2) on most systems
<waltster> hxx: it's all about providing an interface between the OS and the application programmer that is portable
<heat> close(3) calls close(2), etc
<zid> fread fwrite becomes specified, at least, when it was previously nonsense
<sortie> E.g. you can write a rust kernel with system calls written in rust, which implements the POSIX system calls needed for a libc
<klange> "POSIX system calls" are a lie.
<sortie> heat, your use of (3) isn't quite right there bu rtyeah
<heat> sortie: why?
<sortie> There isn't a close(3)
<sortie> It's close(2)
<sortie> close(2) documents the libc routine (which happens to call a system call, which is why it's in section 2)
<heat> my man pages have close(3P)
<zid> fopen letters is a good example
<sortie> 3P is another thing yeah
<junon> 2 and 3 refer to the same import for me on my machine, but they are indeed two separate manpage entries
<junon> weird, I've never noticed this before.
<klange> There are no "system calls" in POSIX. POSIX purely specifies how a set of C functions should operate, how a particular shell should operate, and how certain utilities should work. It does not require any particular means by which any of these are implemented.
<klange> That C library could be written in Rust or Brainfuck or assembly.
<heat> or the purest form of programming, the POSIX shell script
<klange> Those utilities could be written in Python or Javascript or send an email to a contractor in Mumbai who does the thing.
<heat> #!/bin/sh > #!/bin/bash
nvmd has quit [Ping timeout: 252 seconds]
hxx has quit [Quit: Leaving]
nvmd has joined #osdev
<junon> :D radiators are back on
<zid> cheater
<zid> at least it's only.. 2.4C today
<junon> spooning a parrot is dangerous business
<zid> for the spoon, you, or the parrot?
<junon> all of the above
mahmutov has quit [Ping timeout: 256 seconds]
pg12 has quit [Ping timeout: 256 seconds]
<waltster> sortie: you should write a blog about your development experience. i have really enjoyed watching the development of your project
<sortie> Thank you waltster :)
<sortie> I'd love to do that but honestly I do try to spend my time actually doing development :)
<zid> klange should blog about his life as a vtuber
<sortie> Always open to talk about any particular subjects you might be interested in tho
<junon> wait klange does vtubing? I've got to see this...
<heat> i should blog about my intense late night toolchain tweaking
<waltster> sortie, that sounds good. i will take you up on that eventually
<klange> you will never discover my secret life
<zid> He's actually trapped in the time loop in harui still
<sortie> I'd say what I've been up to in 2021 but you wouldn't believe me
<zid> dismembering cows
<junon> klange you're not originally from where you're currently living, right? If not, have you fully assimilated? If so, wow your English is impeccable.
<junon> I've heard fully assimilating there is really, really difficult.
* waltster wonders what sortie has been doing in 2021
<klange> I'm from the US, so I would hope my English hasn't deteriorated too much in my years in Japan.
<junon> (the "if so" is the "else" condition of the original question, fwiw)
<zid> klange: Have you stopped getting nihongo jouzu'd yet?
<klange> My Japanese vocabulary remains infantile, the last two years of pandemic isolation have not helped much, nor has working for an English-speaking employer.
<junon> I've gotten to the point where I'm kind of locked into Europe at the moment, but I am very jealous of those who successfully immigrated to Japan.
<junon> Always wanted to.
<zid> you either need to be incredibly bad, or incredibly good, for that
<junon> Yeah makes sense. My german has really suffered :(
<zid> I know about half of german, sadly the half I don't know is the grammar and the words
<moon-child> what's the half you do know?
<zid> I can do the accent and march into poland and/or belgium
<junon> :D I've given up on der/die/das and tenses. My brain just isn't up for the task.
<zid> Also I know half the words I think
<junon> Germans understand me well enough and that's what matters. I also speak more than any other american I've met, so. I'm sitting pretty.
<zid> Just replace various c with k
<sortie> waltster, OK, let's play three truths one lie:
<sortie> 2) London venue security detained me and released me after determining I was quote 'cuddly and harmless'
<sortie> 1) Turns out Dua Lipa was filming me from the balcony
<sortie> 4) The keyboard player in ABBA's live band sent me a cover of "So hot you're hurting my feelings" for my birthday
<sortie> 3) A fan tracked me down in New York and I ended up video chatting other fans in Copenhagen
<zid> 1 2 4
<heat> ^^
<junon> I also say 1 2 4
<zid> I think 3 happened though
<junon> also sortie are you famous or something?
<zid> Yea he's on a list
<heat> rock star
<kazinsal> sortie: you can't have four truths, that's not how this works!
<kazinsal> also we need to do a PNW osdev meetup sometime in the new year
<waltster> sortie 1 2 3
<zid> penis new wales?
<junon> pacific northwest
<klange> There's still a month left in the year for new and exciting adventures.
<waltster> sortie my partner was in Copenhagen all winter last year
<zid> oh that makes more sense
<junon> washington/idaho/oregon/california
<waltster> i will show up for an East Coast osdev meetup
<junon> montana, depending on who you ask
<zid> I will *maybe* show up for one that happened within walking distance
<zid> it's 2C outside fuck that
<kazinsal> as of today you can cross the border for less than 72 hours without needing to buy covid tests so once the weather returns to being okay I'll probably be hanging around in seattle a bit more often again
<sortie> junon, nooo, I'm not famous, I just do a lot of crazy shit, which has led to a miiild problem of random people, artists, even a journalist approaching me
<sortie> At some point jumping in front of pop stars become my day job and my day job became my hobby
<zid> That's why he's on a list, indecent exposure
<sortie> kazinsal, dammit you onto me
<sortie> We will have to meet up in the PNW def and exchange stories, I'll let ya know next time business travel takes me there
<sortie> waltster, oh that's awesome :) It was the reverse situation that led to 3) happening
<junon> which one was a lie then
<sortie> junon, the rumors are all true, obviously
<klange> Lessee... I wrote a Python clone, I wrote a 64-bit kernel, I "banged out SMP support in a lunch break", I wrote a TrueType implementation...
<sortie> 1) is probably the least true one since she filmed the crowd and I was technically visible, but she would've seen me being in front doing my thing during the Caroline Polachek concert
<klange> I got my car wrapped, I bought a guitar, I actually did a track day and did not crash, I did crash my motorcycle on a trail...
heat has quit [Remote host closed the connection]
<kazinsal> as far as 2) goes, I've similarly noticed that after getting a haircut and maintaining my beard instead of letting it go all nuts I stopped getting "randomly selected" at airport security every time I flew
<kazinsal> funny how that works
heat has joined #osdev
<kazinsal> now it's like, a 30 second process
<waltster> kazinsal interesting how that random selection works
<kazinsal> no more handsy agents and laptop swabs
<sortie> I was so damn freaking out during 2) when security told me I couldn't stand in the front row, this guy with a completely incomprehensible accent told me things I did not comprehend but they were not good, and was told to come with him
hxx has joined #osdev
<zid> klange: I wanna go itasha with you
<sortie> I was forced to stand while the security manager and venue manager discussed what to do with me. Turns out some people thought I cut in front and they had complained. But fortunately I showed up to the gig three hours early and I had chatted with the artist beforehand and the venue manager observed that, so she had a good vibe about me and let me go.
<sortie> Anyways they wouldn't let me in the front again so they let me stand with the photographers with my own personal security guard watching my every move, and after the show he asked if I wanted to meet the artist, so he took me to her and she said she saw me dancing there
<heat> I have an issue with discord's screen sharing and hardware acceleration and went like "oh yeah, hardware acceleration fixes it? nice, bye!"
<zid> the screen scrolled so I read
<heat> they went*
<zid> "he asked if I wanted to meet the artist and went like "oh yea, hardware acceleration fixes it"
sprock has joined #osdev
<sortie> kazinsal, yeah being trimming my beard and getting haircuts more regularly recently too, I like the look
<heat> artists do not use linux so they do not have hardware acceleration
<heat> erm what
<kazinsal> totally. I went from "weird hippie slash serial killer" to "information technology professional"
<heat> s/not use/use/
<sortie> zid, I did once fix a UK pop artist's chrome certificates and she quote owes me forever
nvmd has quit [Quit: Later, nerds.]
<sortie> kazinsal, I believe the FSF crowd would say plus instead of slash there
<kazinsal> GNU Plus Manson
MarchHare has joined #osdev
<sortie> Anyways so that's why people's Sortix contributions aren't getting timely reviewed
<heat> it's all dua lipa's fault
<sortie> Being in the same room as Dua Lipa without knowing it is a pretty good 2021 milestone
<klange> I have, perhaps, had the inverse of sortie's year, having not done any things related to celebrity entertainers despite that having been a very normal part of my life prior to 2020.
<sortie> You've been doing so much excellent osdev I'm jealous
* sortie . o O (New Build Rules)
<zid> I actually pushed to my github this year
<klange> when is sortix getting smp? :P
pg12 has joined #osdev
<sortie> klange, when can toaru be installed?
<sortie> :p
<klange> right now i you use a linux host to make the initial ext2 partition
<zid> just include an empty ext2 partition in the image and dd it first
<klange> There are several reasons why that doesn't make sense.
<klange> sortie: Also I mean that in a non-jocular "where is multicore support on your roadmap?" sort of way.
<sortie> Ah, 1.2
<sortie> It simply does not make sense to add to my already half-a-decade-delayed 1.1 release
<kazinsal> sortie: time to mess with people and implement asymmetric multiprocessing instead
<sortie> Your server should probably just have a Sortix VM for each core
<klange> I definitely know that fealing and it's why I'm putting out 2.0 later this month, come hell or high water.
hxx has left #osdev [Leaving]
<sortie> Yeah.. unfortunately my 1.1 release is vision-based, not only feature based, or time based
<sortie> And my vision just got, uh, more ambitious
<sortie> And it's in a development hell right now where lots of cool stuff is mostly done but not quiiite and those last 25% really matter
<sortie> Thus lots of stuff simply isn't merged
<sortie> It's a lot more important for me to finish stuff up and release than it is to add new cool stuff like SMP
<sortie> Not that it stops me from occasionally going on a bender and suddenly having new crazy things that I somehow gotta finish up and make part of 1.1
<zid> vision based like an apex predator
<sortie> Sortix cat
<heat> wooooooohoooooooooo asan ported
<heat> this was fun and not fun
<sortie> osdev whatchaknow
<sortie> fun and not fun, for the whole family
sdfgsdfg has joined #osdev
<heat> found me a bug and unwound the stack for me
<heat> yay
<heat> i should get gdb
<kazinsal> having in-kernel stack unwinding with symbol resolution is great
<kazinsal> found a lot of bugs that way
childlikempress has joined #osdev
moon-child has quit [Remote host closed the connection]
<klange> yarp
<heat> kazinsal: this is libasan, it actually does dwarf unwinding too
childlikempress is now known as moon-child
<heat> not just "follow the stack frames"
<klange> surely libasan doesn't do that but libunwind does?
<heat> yes
<heat> where libunwind is a part of libgcc
<klange> no it is not
<heat> yes it is
<klange> no it is not
<heat> libgcc implements all the _Unwind_ stuff
<heat> you don't need a separate libunwind
<zid> klange: I came up with an atrocious joke that's probably too hard to understand and translate, someone being double-consonanted as flat chested, because they don't have any vowel vowel
<klange> heat: okay we have different definitions of "part of"
<klange> libgcc includes libunwind to support frame unwind for exceptions
<heat> klange: yeah I was probably unclear
dormito has joined #osdev
<heat> most of the toolchains don't actually use libunwind but just implement its interface
<heat> llvm does the same
<heat> its "libunwind"
<heat> with air quotes
<klange> it's bloat, is what it is, all of libgcc can go fall off a cliff please
<heat> woah
<zid> libgcc.a is great
<zid> I don't wanna write 128bit divide
<heat> i'm personally a libgcc_s.so guy myself
<kazinsal> I'm considering moving to llvm to escape the gnu bloat
<klange> clang can spit out 128bit divide just fine without having to link a dedicated archive for it
<klange> I have a libgcc_s.so
<heat> oh yeah llvm definitely doesn't have a compiler runtime
<heat> definitely
<zid> they just have it all internal then
<zid> same difference to me
<zid> I don't wanna write it
<heat> >looks at libclang_rt.builtins.a
<heat> >swipes it under the rug