Search logs:

channel logs for 2004 - 2010 are archived at http://tunes.org/~nef/logs/old/ ·· 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


http://bespin.org/~qz/search/?view=1&c=osdev2&y=22&m=1&d=17

Monday, 17 January 2022

00:00:00 <sortie> Meanwhile I patched my 80 ports and fixed a ton of these issues and it actually cross-compiles cleanly now, with maybe a few latent bugs leaking the host environment that I didn't realize yet since it's minor
00:00:00 <sortie> heat: That behavior is dangerously **wrong** and must be fixed.
00:01:00 <dh`> cmake is a law unto itself
00:01:00 <dh`> good luck fighting with it, let us know how many windmills you score
00:01:00 <graphitemaster> sortie, there is more than one way to skin a cat, the only constant is cats will be skinned
00:02:00 <sortie> I like the alternative phrasing “there's more than one way to pet a cat”
00:02:00 <sortie> Most people are not able to coherently communicate two distinct ways of skinning a cat
00:02:00 <graphitemaster> the visceral imagery of skinning a cat is more conducive to the horrors we do in software to make things work
00:03:00 <sortie> fool I am the cat(1)
00:03:00 <gog> mew
00:04:00 <zid> Out here in the fields
00:04:00 <zid> I fight for my meals
00:05:00 <graphitemaster> The scarecrow got a raise because he was out standing in his field
00:06:00 <gog> if he gets a promotion he'll be a stuffed suit
00:10:00 <graphitemaster> sortie, is `cat cat(1) cat(2)` cat(1)cat(2) or cat(12)
00:17:00 <gog> i'm cat 6
06:37:00 <sham1> CAT
07:28:00 <kazinsal> guess who has two thumbs and just spent four hours in the ER because his left ear is swollen shut
07:28:00 * kazinsal shoves his thumbs in his eyes
07:29:00 <Mutabah> oof
07:31:00 <klange> What?
08:17:00 <geist> eep!
10:35:00 <sham1> epe!
10:54:00 <zid> It's spelled épée I think
10:56:00 <GeDaMo> And my áxé! :P
11:02:00 <gog> owxye
14:40:00 <Killaship34> Hello, I just started IRC, is there anyone here from the OSdev discord?
14:42:00 <Killaship34> Hello
14:42:00 <Killaship34> hmm I can see myself on the channel logs
14:42:00 <Killaship34> :p
14:42:00 <Lugar> there's a discord?
14:44:00 <Killaship34> Yes
14:44:00 <Killaship34> Check the Chat page on the OSdev discord
14:44:00 <Killaship34> wiki*
14:44:00 <Killaship34> lol
14:44:00 <Lugar> ok
14:45:00 <Lugar> tbh i dont really like discords layout and culture
14:46:00 <Lugar> i prefer irc and forums
14:46:00 <Killaship34> IMO it's fine but I can see where you're coming from
14:46:00 <Killaship34> I'll take whatever I can get, I'm mostly indifferent
15:15:00 <sham1> It's quite proprietary and very webby so it's no wonder that it's not that popular in these circles
15:16:00 <zid> The discord is awful fwiw
15:23:00 <sham1> The UI is horrid, and one can't even have a custom client because that breaks the ToS
15:23:00 <sham1> (Talking about a custom client is also against the ToS)
16:02:00 <zid> even logging is against tos
16:02:00 <zid> so basically every google result from 1970 - 2010 where it was all forums are going to disappear from 2010+
16:04:00 <GeDaMo> https://old.reddit.com/r/unixsocks/
16:04:00 <bslsk05> ​old.reddit.com: unixsocks
16:24:00 <gog> fun fact, if you don't pop the registers in the same order you push them your isrs are gonna fuck up
16:37:00 <sham1> Tell me more
16:40:00 <gog> that's all the fun facts i have today
16:40:00 <Bitweasil> "How to annoy interviewers asking you to swap two registers using a temp register in one easy trick." ;)
16:40:00 <Bitweasil> push rax; push rbx; pop rax; pop rbx
16:41:00 <gog> haha
16:43:00 <Bitweasil> For years I've answered the "How would you tell how many bits are set in this register?" question with "POPCNT. Or whatever your local population count instruction is." "Haha, ok, yeah... now, if you don't have that, write code to do it."
16:43:00 <Bitweasil> (there are "clever" options, and I just bang out a for loop, hasn't been a problem yet)
16:44:00 <GeDaMo> I remember a page which tested the options, I think a table lookup was the fastest
16:44:00 <kingoffrance> ^ this is why hackers delight was a good book. "it varies"
16:46:00 <GeDaMo> https://graphics.stanford.edu/~seander/bithacks.html#CountBitsSetNaive
16:46:00 <bslsk05> ​graphics.stanford.edu: Bit Twiddling Hacks
16:48:00 <sham1> I think clang at least will just compile that loop into POPCNT
16:48:00 <sham1> IIRC gcc doesn't for some reason
16:49:00 <kingoffrance> ""Haha, ok, yeah... now, if you don't have that, write code to do it."" this is when you point them at superoptimizer
16:49:00 <gog> optimizer doesn't know the pattern, expects the programmer to be smart enough to use an intrinsic?
16:49:00 <gog> who knows
16:50:00 <kingoffrance> what if you dont have a superoptimizer? you can just meta all day long. write code to write one
16:51:00 <kingoffrance> it seems there is an infinite chain of pure interviewere annoying gold
16:52:00 <kingoffrance> *viewer-annoying
16:53:00 <sham1> Gotta be smart enough to use intrinsics for SIMD because the compiler sure isn't
16:55:00 <GeDaMo> https://danluu.com/assembly-intrinsics/
16:55:00 <bslsk05> ​danluu.com: Assembly v. intrinsics
17:06:00 <superleaf1995> Hi
17:07:00 <superleaf1995> I have been trying to document how to build gcc on mvs3.8j
17:08:00 <sham1> Hmm, even with -O3 on clang, the bit hack thing doesn't turn into popcnt. I could have sworn that it does
17:09:00 <superleaf1995> popcnt?
17:09:00 <superleaf1995> I will blindly guess thats aarch64 or something
17:09:00 <sham1> The population count instruction on x86 and AMD64
17:09:00 <superleaf1995> Ah
17:10:00 <sham1> Counting the number of set bits in a word
17:10:00 <sham1> I actually saw Mr. Godbolt do that exact thing in a talk he gave some time ago. Weird that it's not working here
17:30:00 <Bitweasil> And various other architectures too. It's pretty common in older RISC ISAs too.
17:54:00 <superleaf1995> I don't think 390 had it tho
17:55:00 <sham1> Hmm, seems that the reason why GCC and clang didn't do it for me in Compiler Explorer was because I didn't have the proper -march flag
17:56:00 <gog> ope
17:57:00 <sham1> TIL there is a movbe instruction
17:58:00 <sham1> That moves from the source and does a byte swap from big endian (on x86 and AMD64)
18:18:00 <superleaf1995> i am compiling gccmvs on the mvs3.8j mainframe os as we speak :)
20:34:00 <heat> sham1, i know i'm super late but popcnt isn't part of the base x86_64 instruction set
20:35:00 <heat> neither is movbe
20:36:00 <sham1> Indeed. Haswell has it though, and that's good
20:37:00 <superleaf1995> I have a question
20:37:00 <sham1> And that is indeed why those instructions aren't used without march
20:37:00 <superleaf1995> What are the essential tools one should have to attract people to port their OSes to another architecture
20:37:00 <superleaf1995> aside from the obvious gcc/binutils
20:38:00 <heat> mind control
20:38:00 <superleaf1995> and also aside from the, also obvious, bootloader multiboot2/stivale2; and aside from a barebones tutorial
20:38:00 <superleaf1995> heat: or total world domination? :)
20:38:00 <GeDaMo> Free cheese! :P
20:39:00 <j`ey> good simulator/emulator
20:39:00 <kingoffrance> ^
20:39:00 <heat> obviously if you have mind control you'll skip the easy world domination and make people adopt your OS
20:39:00 <heat> when you conquer the world with your OS you've gotten your world domination victory but the intended way
20:39:00 <superleaf1995> j`ey: yeah we can say that one is done
20:40:00 <heat> so realistically: no one is ever going to port your OS to another architecture unless you've made it
20:41:00 <heat> 99.9% of all projects here are just single person projects
20:41:00 <superleaf1995> right now i am trying to get people using 390/zArch; i made a bootloader called flatboot which supports stivale2, made a barebones tutorial, made some documentation, cooperated with the pdos author to decipher some "unknowns", helped refine some build processes (specially for the cross gcc thing) and hercules-hyperion already emulates stuff good
20:41:00 <heat> or in the best case, projects that atract a random contributor or two which submit a port
20:42:00 <superleaf1995> true..
20:42:00 <sham1> Of course with mind control, you also get world domination as well
20:42:00 <superleaf1995> heat: i don't mean port **my** os
20:43:00 <superleaf1995> i meant getting people interesting into porting **their** os into z/arch
20:43:00 <sortie> superleaf1995, just give such hardware away for free to kernel, toolchain, and ports people
20:43:00 <heat> that's another question, but honestly I feel like you're screwed either way
20:43:00 <GeDaMo> Can I actually buy some 390 hardware for a reasonable price?
20:43:00 <superleaf1995> micro 390's exists
20:43:00 <sortie> superleaf1995, seriously, if the right people have a free device to play with, they really might
20:44:00 <heat> most projects struggle to support the 3-4 main architectures (x86(_64), arm(64), riscv(64))
20:44:00 <superleaf1995> well on the 390 world we have some outdated gcc ports for mvs3.8j
20:45:00 <sham1> Make a Lisp of some kind, and some crazy person will port it to whatever device they have left over
20:45:00 <superleaf1995> you can use gcc on z/os but it costs like 1 billion dollar
20:45:00 <sham1> Or a Forth
20:45:00 <superleaf1995> ah
20:45:00 <heat> do you have linux support? that's your first step
20:45:00 <superleaf1995> yes
20:45:00 <heat> you've made it then
20:45:00 <heat> congrats
20:45:00 <superleaf1995> but it can only run under a proprietary vm iirc
20:46:00 <superleaf1995> a m inside a z/arch machine
20:46:00 <sham1> Of course the true ideal is a custom OS on a custom architecture on a custom chip made from custom transistors made from custom sand
20:46:00 <superleaf1995> z/os needs to run z/linux on a virtual machine, but z/os runs on the real thing
20:46:00 <heat> well, making linux run on your thing is the first step
20:46:00 <superleaf1995> the only way to go the "free" route is either use z/PDOS or MVS/CE
20:47:00 <heat> then you add glibc/musl support in the libc (if you need to, that is, pretty sure they have s390 support)
20:47:00 <superleaf1995> heat: linux does run but z/arch is mostly an unexplored field outside of hobby stuff
20:47:00 <heat> then explore it
20:47:00 <heat> checkmate atheist
20:47:00 <superleaf1995> the only hobby os rn is z/pdos
20:47:00 <superleaf1995> and my os :p
20:49:00 <heat> if you're concerned about the architecture not getting adoption in general, the first step is to port the linux kernel; if you're converned about the arch not getting hobby OS support, you're screwed
20:49:00 <superleaf1995> well - i'll keep documenting stuff so hopefully one day we have tutorial-os on z/arch
20:49:00 <superleaf1995> heat: alright
20:50:00 <GeDaMo> Are there FPGA implementions of the z/architecture?
20:51:00 <heat> superleaf1995, unfortunately most hobby OSes are either x86 only or arm only for your ocasional raspberry pi
20:51:00 <heat> not much diversity on that end
20:53:00 <heat> OTOH if you want to you can port your architecture to my OS (*shameless plug alert* https://github.com/heatd/Onyx)
20:53:00 <bslsk05> ​heatd/Onyx - UNIX-like operating system written in C and C++ (2 forks/19 stargazers/MIT)
20:53:00 <heat> i'll take anything that's kind of relevant
20:53:00 <heat> :D
20:59:00 <kingoffrance> that's not wrong. "port your architecture to my OS" that's another way of looking at it
21:07:00 <geist> superleaf1995: i thought you were big into riscv a while back, or was that someone else?
21:08:00 <superleaf1995> I did
21:08:00 <superleaf1995> i dwelved into risc-v but i found it unappealing to me
21:09:00 <superleaf1995> mostly because it was just embedded stuff
21:09:00 <geist> also didn't we kick you for some reason?
21:09:00 <superleaf1995> no?
21:09:00 <geist> or was that someone else that was into riscv and had a long name
21:09:00 <geist> kk. i think it was someone else
21:09:00 <superleaf1995> i was the guy who asked about pci and stuff
21:10:00 <geist> there was someone in on #osdev maybe 18 months ago that had a long nick like yours, did a bunch of riscv stuff, and was generally engaging and then would just randomly go on a racist tirade
21:10:00 <superleaf1995> wasn't that skyz?
21:10:00 <geist> no skyz just wont stop blathering
21:11:00 <geist> i figure he'll grow up in a few years
21:11:00 <geist> and yeah i remember that you were building the PCI configuratio thing. got it
21:11:00 <superleaf1995> yeah and i dwelved a bit too much onto it
21:11:00 <geist> haha
21:11:00 <geist> well, i recently got around to doing much of the same thing
21:11:00 <superleaf1995> "lemme do the work of the bios and manage the power control of the pci bus" :p
21:12:00 <geist> though i haven't yet written the actual BAR assignment stuff, but its needed for ARM and riscv qemu at least
21:12:00 <superleaf1995> bar assignment is horrible with bridges
21:12:00 <geist> so i was thinking back to what you had been doing at the time
21:12:00 <geist> yep!
21:12:00 <superleaf1995> i liked risc-v; sadly one can't just havea ficticious OS that won't run on real hw
21:13:00 <superleaf1995> so i just threw my progress into the garbage can
21:14:00 <superleaf1995> now i am here, writing an OS+bootloader for machines only used by big $$$ banks or scavengers
21:14:00 <superleaf1995> [have yet to test on realiron, but it's getting there btw]
21:15:00 <klys> should have bought the k210 sipeed board
21:16:00 <geist> yah i mean i'm all for hacking on esoteric hardware, but what's the idea behind writing your OS/etc on IBM stuff?
21:16:00 <superleaf1995> geist: because nobody else would
21:16:00 <geist> okay. sounds good
21:16:00 <superleaf1995> except the z/PDOS author, so i tought "well, if i am going to do something it better be helping out the whole mainframe hobby scene"
21:17:00 <geist> my only real point here is you have far more capability to have a real riscv machine than an IBM mainframe
21:17:00 <superleaf1995> micro 390s exists, and some people have offered to ipl my os on the real thing
21:18:00 <geist> okey dokey. funny i was actually thnking of getting a linux account on a ibm virtual machine
21:18:00 <CompanionCube> sounds cool
21:18:00 <geist> i had read somewhere you can get one
21:18:00 <geist> https://developer.ibm.com/gettingstarted/ibm-linuxone/
21:18:00 <bslsk05> ​developer.ibm.com: Get started with IBM LinuxONE – IBM Developer
21:18:00 <superleaf1995> there was an ibm z hobbyst program iirc
21:18:00 <geist> haven't looked into it, but i think you can get a 6 month account on that
21:18:00 <CompanionCube> i know that for z/OS they have a year-long thing 'master the mainframe'
21:18:00 <geist> figured could at least fiddle with the ISA a bit
21:19:00 <superleaf1995> CompanionCube: right now i am only using mvs3.8j
21:19:00 <superleaf1995> z/OS is like big $$$ to get hands on
21:19:00 <CompanionCube> well, get your hands on legitimately.
21:21:00 <superleaf1995> the entire point is to make an os for z/Arch
21:21:00 <superleaf1995> and as of date only z/PDOS exists -> and it needs a device called SYSG and it should run on realiron
21:21:00 <CompanionCube> iirc at one point there was an opensolaris port to z
21:21:00 <superleaf1995> problem is that SYSG is weird af
21:21:00 <CompanionCube> but it was never fully opensourced and obviously killed off
21:22:00 <superleaf1995> rip
21:22:00 <CompanionCube> https://www.theregister.com/2007/11/30/opensolaris_on_ibm_zsystem/
21:22:00 <bslsk05> ​www.theregister.com: You've got OpenSolaris in my System z • The Register
21:23:00 <kingoffrance> well the PDOS guy stopped by once (maybe back on *node) ... i like the public domain and the c89...but what interests me may likely repel others :)
21:23:00 <CompanionCube> and it being killed off: https://www.theregister.com/2010/03/29/oracle_solaris_z_ibm_mainframe/
21:23:00 <bslsk05> ​www.theregister.com: Sun's IBM-mainframe flower wilts under Oracle's hard gaze • The Register
21:23:00 <superleaf1995> kingoffrance: i am mostly for the fact of makiing z/Arch something that isn't esoteric
21:23:00 <superleaf1995> and that begineer osdevers can get their hands on it
21:24:00 <CompanionCube> inb4 'go even more esoteric, resurrect system/38'
21:24:00 <superleaf1995> be it realiron or not (probably the latter but with proper testing it should become diffuse enough to not matter)
21:24:00 <geist> would be useful to tie that back to qemu, which has s390 support but i think isn't very useful out of the box for reasons
21:24:00 <geist> like you need some proprietary firmware
21:24:00 <geist> or it only is useful for user space emulation?
21:24:00 <superleaf1995> it does not have normal 390 peripherals
21:24:00 <geist> ah
21:25:00 <superleaf1995> you're just running z/VM
21:25:00 <superleaf1995> qemu emulates a z/VM virtual machine, not the machine itself
21:25:00 <CompanionCube> oh is that what it emulates? huh
21:26:00 <CompanionCube> granted all modern z hardware runs a built-in hypervisor anyway doesn't it?
21:26:00 <superleaf1995> no[?]
21:27:00 <superleaf1995> if i recall correctly z/OS manages the VMs
21:27:00 <superleaf1995> which uses **assisted** hypervisor tools
21:27:00 <CompanionCube> https://en.wikipedia.org/wiki/PR/SM is what i meant
21:27:00 <bslsk05> ​en.wikipedia.org: PR/SM - Wikipedia
21:27:00 <superleaf1995> yeah
21:28:00 <superleaf1995> but you need an os to manage all of that
21:28:00 <geist> MU/TH/UR
21:28:00 <CompanionCube> true
21:28:00 <geist> you should write a OS called that
21:28:00 <superleaf1995> MU/TH/UR??
21:29:00 <superleaf1995> what does that mean? :p
21:29:00 <geist> https://youtu.be/qFXnMB9jwRs was the fictional main computer on the Nostromo in the movie Alien
21:29:00 <bslsk05> ​'Alien (1979) Ambience | Nostromo (MU-TH-UR 6000) | ASMR, STUDY, RELAXING, SLEEP' by Armchair Ambience (01:00:00)
21:30:00 <CompanionCube> hm, it has 6000 in the name
21:30:00 <CompanionCube> obviously the best fit for the OS would be a RS/6000 POWER machine :p
21:30:00 <superleaf1995> ah yes
21:30:00 <geist> https://youtu.be/2ywWFvjE-yU?t=31 is what booting your computer should be every morning
21:30:00 <bslsk05> ​'Nostromo boot sequence + Interface 2037 ("mother") - Alien computer sounds/glitches' by jpcqa (00:01:20)
21:30:00 <superleaf1995> the ol' days when people carried a handheld RS/6000 POWER workstation to schoold
21:32:00 <geist> that vid is a bit chopped up, but i love the ambiance of tech in Alien. aged extremely well considering it was from 1979
21:35:00 <superleaf1995> at that point just write a COBOL program to automatically configure the thing
22:22:00 <klys> https://groups.google.com/g/qubes-devel/c/YrteVv_VyDw
22:22:00 <bslsk05> ​groups.google.com: Requirements for PVH stubdoms?
22:22:00 <klys> > "There is experimental work on qubes-devel (by Paul Durrant) on
22:22:00 <klys> > standalone PCI emulators (no qemu)."
22:24:00 <klys> the prospect of booting a kernel without qemu is what's bothering me
22:28:00 <klys> note: I just compiled xen-4.14.3.tar.gz with patches from https://github.com/QubesOS/qubes-vmm-xen
22:28:00 <bslsk05> ​QubesOS/qubes-vmm-xen - Qubes component: vmm-xen (44 forks/24 stargazers/NOASSERTION)
22:30:00 <CompanionCube> can't you already boot them without qemu under PVH?
22:31:00 <CompanionCube> just not with PCI devices it seems
22:31:00 <klys> it looks like the "standalone" binary is /usr/libexec/xen/boot/pv-grub-x86_64.gz which is a gzipped ELF 64-bit LSB executable, x86_64, version 1 (SYSV), sttically linked, with debug_info, not stripped
22:31:00 <CompanionCube> iirc xen on arm *only* does PVH
22:32:00 <klys> now if I could just get a handle on how to run that binary
22:32:00 <klys> I suspect something like "xl create" except I've looked far and wide and no one has a xl.cfg file for me.
22:33:00 <CompanionCube> https://wiki.xenproject.org/wiki/Linux_PVH
22:33:00 <bslsk05> ​wiki.xenproject.org: Linux PVH - Xen
22:34:00 <klys> yes that's xen not qubes, so I'm unsure how to get the video
22:34:00 <CompanionCube> ah
22:35:00 <klys> the device model for an hvm is started by another standalone, /usr/libexec/xen/boot/ioemu-stubdom.gz which is the same kind of file
22:36:00 <klys> to be clear: the device model is vm-dm and shows up first in xl list;
22:36:00 <klys> it runs qemu for the hvm
22:36:00 * CompanionCube doesn't know much about how qubes is set up
22:37:00 <klys> I have had some success running the tool to get the display for the vm
22:37:00 <klys> I had to go in and modify the qemu commandline in the rootfs for the stubdom
22:38:00 <klys> so if I don't put it back, my machine won't start up properly if I reboot :)
22:39:00 <klys> by stubdom in this context I mean the kernel running in the device model vm-dm
22:40:00 <sham1> Companion Qube
22:40:00 <sham1> A container that follows you around and does not threaten to stab you
22:40:00 <klys> so, I think qubes relies on the linux kernel to communicate with the qubes-guid program
22:41:00 <klys> which stands for gui daemon
22:42:00 <klys> after starting the vm with virsh at dom0, I then have to run that program to get the window.
22:42:00 <klys> one problem is virsh never terminates, another problem is the vm numbers from xl list; are ever increasing.
22:43:00 <klys> sham1: stab: symbol table
22:44:00 <sham1> I prefer to have DWARFs working for me
22:47:00 <kingoffrance> i believe he previously accepted tempest 2000 companion cube as an acceptable interpretation, so i am also ok with this new qube as it seems back-compatible
22:48:00 <kingoffrance> i dont see any breaking API change, merged
22:55:00 <klys> here's part of what I need, https://wiki.debian.org/PvGrub
22:55:00 <bslsk05> ​wiki.debian.org: PvGrub - Debian Wiki
22:55:00 <klys> and then to make sure linux boots and starts the gui
23:00:00 <klys> and the gui is in the xserver-xorg-video-dummyqbs deb package