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
<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
<sortie> heat: That behavior is dangerously **wrong** and must be fixed.
<dh`> cmake is a law unto itself
<dh`> good luck fighting with it, let us know how many windmills you score
<graphitemaster> sortie, there is more than one way to skin a cat, the only constant is cats will be skinned
<sortie> I like the alternative phrasing “there's more than one way to pet a cat”
<sortie> Most people are not able to coherently communicate two distinct ways of skinning a cat
<graphitemaster> the visceral imagery of skinning a cat is more conducive to the horrors we do in software to make things work
<sortie> fool I am the cat(1)
<gog> mew
<zid> Out here in the fields
<zid> I fight for my meals
<graphitemaster> The scarecrow got a raise because he was out standing in his field
<gog> if he gets a promotion he'll be a stuffed suit
mctpyt has joined #osdev
sonny has quit [Ping timeout: 240 seconds]
sonny has joined #osdev
<graphitemaster> sortie, is `cat cat(1) cat(2)` cat(1)cat(2) or cat(12)
<gog> i'm cat 6
vdamewood has joined #osdev
sonny has quit [Ping timeout: 250 seconds]
mctpyt has quit [Read error: Connection reset by peer]
Burgundy has quit [Ping timeout: 240 seconds]
gog has quit []
[itchyjunk] has joined #osdev
sonny has joined #osdev
Belxjander has quit [Quit: AmigaOS PPC 4.1 +E +U1 // AmIRC 68K]
jjuran has quit [Ping timeout: 256 seconds]
pieguy128 has quit [Ping timeout: 256 seconds]
jjuran has joined #osdev
sonny has quit [Ping timeout: 250 seconds]
pieguy128 has joined #osdev
pieguy128 has quit [Ping timeout: 240 seconds]
pieguy128 has joined #osdev
sdfgsdfg has joined #osdev
sonny has joined #osdev
heat has quit [Ping timeout: 250 seconds]
jjuran has quit [Ping timeout: 240 seconds]
jjuran has joined #osdev
nyah has quit [Quit: leaving]
C-Man has quit [Ping timeout: 256 seconds]
kingoffrance has quit [Quit: Leaving]
flx has joined #osdev
jjuran has quit [Read error: Connection reset by peer]
jjuran has joined #osdev
MiningMarsh has quit [Ping timeout: 256 seconds]
pretty_dumm_guy has quit [Quit: WeeChat 3.4]
sonny has quit [Quit: Going offline, see ya! (www.adiirc.com)]
jjuran has quit [Ping timeout: 240 seconds]
jjuran has joined #osdev
jjuran has quit [Ping timeout: 256 seconds]
jjuran has joined #osdev
Burgundy has joined #osdev
bauen1 has quit [Ping timeout: 250 seconds]
Jari-- has quit [Remote host closed the connection]
sdfgsdfg has quit [Quit: ZzzZ]
NeoCron has quit [Ping timeout: 250 seconds]
sdfgsdfg has joined #osdev
sdfgsdfg has quit [Client Quit]
<sham1> CAT
srjek has quit [Ping timeout: 240 seconds]
[itchyjunk] has quit [Quit: Leaving]
bauen1 has joined #osdev
ElectronApps has joined #osdev
MiningMarsh has joined #osdev
<kazinsal> guess who has two thumbs and just spent four hours in the ER because his left ear is swollen shut
* kazinsal shoves his thumbs in his eyes
<Mutabah> oof
<klange> What?
<geist> eep!
sdfgsdfg has joined #osdev
Belxjander has joined #osdev
tusko has left #osdev [Byeee]
ZombieChicken has quit [Quit: WeeChat 3.4]
ElectronApps has quit [Remote host closed the connection]
bauen1 has quit [Ping timeout: 240 seconds]
bauen1 has joined #osdev
anon16_ has joined #osdev
anon16_ has quit [Client Quit]
ElectronApps has joined #osdev
gog has joined #osdev
GeDaMo has joined #osdev
<sham1> epe!
<zid> It's spelled épée I think
<GeDaMo> And my áxé! :P
<gog> owxye
dennis95 has joined #osdev
lg has quit [Ping timeout: 256 seconds]
dennis95 has quit [Read error: Connection reset by peer]
dennis95 has joined #osdev
C-Man has joined #osdev
pretty_dumm_guy has joined #osdev
xenos1984 has quit [Read error: Connection reset by peer]
kingoffrance has joined #osdev
xenos1984 has joined #osdev
[itchyjunk] has joined #osdev
sdfgsdfg has quit [Quit: ZzzZ]
Lugar has joined #osdev
bauen1 has quit [Ping timeout: 256 seconds]
bauen1 has joined #osdev
bauen1 has quit [Ping timeout: 256 seconds]
wgrant has quit [Ping timeout: 240 seconds]
wgrant has joined #osdev
wolfshappen has quit [Quit: later]
bauen1 has joined #osdev
dude12312414 has joined #osdev
dude12312414 has quit [Remote host closed the connection]
dude12312414 has joined #osdev
Killaship34 has joined #osdev
<Killaship34> Hello, I just started IRC, is there anyone here from the OSdev discord?
wr has joined #osdev
<Killaship34> Hello
<Killaship34> hmm I can see myself on the channel logs
<Killaship34> :p
<Lugar> there's a discord?
<Killaship34> Yes
<Killaship34> Check the Chat page on the OSdev discord
<Killaship34> wiki*
<Killaship34> lol
<Lugar> ok
<Lugar> tbh i dont really like discords layout and culture
<Lugar> i prefer irc and forums
<Killaship34> IMO it's fine but I can see where you're coming from
<Killaship34> I'll take whatever I can get, I'm mostly indifferent
Killaship34 has left #osdev [#osdev]
wolfshappen has joined #osdev
srjek has joined #osdev
wr has left #osdev [Leaving]
<sham1> It's quite proprietary and very webby so it's no wonder that it's not that popular in these circles
<zid> The discord is awful fwiw
Coldberg has joined #osdev
dennis95 has quit [Remote host closed the connection]
dennis95 has joined #osdev
<sham1> The UI is horrid, and one can't even have a custom client because that breaks the ToS
C-Man has quit [Ping timeout: 256 seconds]
<sham1> (Talking about a custom client is also against the ToS)
wolfshappen has quit [Ping timeout: 256 seconds]
wolfshappen has joined #osdev
ahlk has joined #osdev
freakazoid333 has quit [Ping timeout: 245 seconds]
<zid> even logging is against tos
<zid> so basically every google result from 1970 - 2010 where it was all forums are going to disappear from 2010+
<bslsk05> ​old.reddit.com: unixsocks
nyah has joined #osdev
ElectronApps has quit [Remote host closed the connection]
<gog> fun fact, if you don't pop the registers in the same order you push them your isrs are gonna fuck up
mahmutov has joined #osdev
<sham1> Tell me more
<gog> that's all the fun facts i have today
<Bitweasil> "How to annoy interviewers asking you to swap two registers using a temp register in one easy trick." ;)
<Bitweasil> push rax; push rbx; pop rax; pop rbx
<gog> haha
<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."
<Bitweasil> (there are "clever" options, and I just bang out a for loop, hasn't been a problem yet)
<GeDaMo> I remember a page which tested the options, I think a table lookup was the fastest
<kingoffrance> ^ this is why hackers delight was a good book. "it varies"
<bslsk05> ​graphics.stanford.edu: Bit Twiddling Hacks
<sham1> I think clang at least will just compile that loop into POPCNT
<sham1> IIRC gcc doesn't for some reason
<kingoffrance> ""Haha, ok, yeah... now, if you don't have that, write code to do it."" this is when you point them at superoptimizer
<gog> optimizer doesn't know the pattern, expects the programmer to be smart enough to use an intrinsic?
<gog> who knows
<kingoffrance> what if you dont have a superoptimizer? you can just meta all day long. write code to write one
<kingoffrance> it seems there is an infinite chain of pure interviewere annoying gold
<kingoffrance> *viewer-annoying
<sham1> Gotta be smart enough to use intrinsics for SIMD because the compiler sure isn't
<bslsk05> ​danluu.com: Assembly v. intrinsics
mahmutov has quit [Ping timeout: 256 seconds]
superleaf1995 has joined #osdev
<superleaf1995> Hi
mahmutov has joined #osdev
<superleaf1995> I have been trying to document how to build gcc on mvs3.8j
<sham1> Hmm, even with -O3 on clang, the bit hack thing doesn't turn into popcnt. I could have sworn that it does
orthoplex64 has quit [Remote host closed the connection]
orthoplex64 has joined #osdev
<superleaf1995> popcnt?
<superleaf1995> I will blindly guess thats aarch64 or something
<sham1> The population count instruction on x86 and AMD64
<superleaf1995> Ah
<sham1> Counting the number of set bits in a word
<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
mahmutov has quit [Ping timeout: 240 seconds]
mahmutov has joined #osdev
biblio has joined #osdev
<Bitweasil> And various other architectures too. It's pretty common in older RISC ISAs too.
<superleaf1995> I don't think 390 had it tho
<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
<gog> ope
<sham1> TIL there is a movbe instruction
<sham1> That moves from the source and does a byte swap from big endian (on x86 and AMD64)
073AAD9C1 is now known as valeriusN
<superleaf1995> i am compiling gccmvs on the mvs3.8j mainframe os as we speak :)
dennis95 has quit [Quit: Leaving]
nur has quit [Quit: Leaving]
superleaf1995 has quit [Quit: Leaving]
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
bxh7 has quit [Quit: ZNC 1.8.2 - https://znc.in]
nur has joined #osdev
orthoplex64 has quit [Remote host closed the connection]
orthoplex64 has joined #osdev
Dreg has quit [Read error: Connection reset by peer]
heat has joined #osdev
<heat> sham1, i know i'm super late but popcnt isn't part of the base x86_64 instruction set
<heat> neither is movbe
<sham1> Indeed. Haswell has it though, and that's good
superleaf1995 has joined #osdev
<superleaf1995> I have a question
<sham1> And that is indeed why those instructions aren't used without march
<superleaf1995> What are the essential tools one should have to attract people to port their OSes to another architecture
<superleaf1995> aside from the obvious gcc/binutils
<heat> mind control
<superleaf1995> and also aside from the, also obvious, bootloader multiboot2/stivale2; and aside from a barebones tutorial
<superleaf1995> heat: or total world domination? :)
<GeDaMo> Free cheese! :P
<j`ey> good simulator/emulator
<kingoffrance> ^
<heat> obviously if you have mind control you'll skip the easy world domination and make people adopt your OS
<heat> when you conquer the world with your OS you've gotten your world domination victory but the intended way
<superleaf1995> j`ey: yeah we can say that one is done
<heat> so realistically: no one is ever going to port your OS to another architecture unless you've made it
<heat> 99.9% of all projects here are just single person projects
<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
<heat> or in the best case, projects that atract a random contributor or two which submit a port
<superleaf1995> true..
<sham1> Of course with mind control, you also get world domination as well
<superleaf1995> heat: i don't mean port **my** os
<superleaf1995> i meant getting people interesting into porting **their** os into z/arch
<sortie> superleaf1995, just give such hardware away for free to kernel, toolchain, and ports people
<heat> that's another question, but honestly I feel like you're screwed either way
<GeDaMo> Can I actually buy some 390 hardware for a reasonable price?
<superleaf1995> micro 390's exists
<sortie> superleaf1995, seriously, if the right people have a free device to play with, they really might
<heat> most projects struggle to support the 3-4 main architectures (x86(_64), arm(64), riscv(64))
<superleaf1995> well on the 390 world we have some outdated gcc ports for mvs3.8j
<sham1> Make a Lisp of some kind, and some crazy person will port it to whatever device they have left over
<superleaf1995> you can use gcc on z/os but it costs like 1 billion dollar
<sham1> Or a Forth
<superleaf1995> ah
<heat> do you have linux support? that's your first step
<superleaf1995> yes
<heat> you've made it then
<heat> congrats
<superleaf1995> but it can only run under a proprietary vm iirc
<superleaf1995> a m inside a z/arch machine
<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
<superleaf1995> z/os needs to run z/linux on a virtual machine, but z/os runs on the real thing
<heat> well, making linux run on your thing is the first step
<superleaf1995> the only way to go the "free" route is either use z/PDOS or MVS/CE
<heat> then you add glibc/musl support in the libc (if you need to, that is, pretty sure they have s390 support)
<superleaf1995> heat: linux does run but z/arch is mostly an unexplored field outside of hobby stuff
<heat> then explore it
<heat> checkmate atheist
<superleaf1995> the only hobby os rn is z/pdos
<superleaf1995> and my os :p
<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
<superleaf1995> well - i'll keep documenting stuff so hopefully one day we have tutorial-os on z/arch
<superleaf1995> heat: alright
<GeDaMo> Are there FPGA implementions of the z/architecture?
<heat> superleaf1995, unfortunately most hobby OSes are either x86 only or arm only for your ocasional raspberry pi
<heat> not much diversity on that end
<heat> OTOH if you want to you can port your architecture to my OS (*shameless plug alert* https://github.com/heatd/Onyx)
<bslsk05> ​heatd/Onyx - UNIX-like operating system written in C and C++ (2 forks/19 stargazers/MIT)
<heat> i'll take anything that's kind of relevant
<heat> :D
C-Man has joined #osdev
Coldberg has quit [Ping timeout: 256 seconds]
<kingoffrance> that's not wrong. "port your architecture to my OS" that's another way of looking at it
<geist> superleaf1995: i thought you were big into riscv a while back, or was that someone else?
<superleaf1995> I did
<superleaf1995> i dwelved into risc-v but i found it unappealing to me
<superleaf1995> mostly because it was just embedded stuff
<geist> also didn't we kick you for some reason?
<superleaf1995> no?
<geist> or was that someone else that was into riscv and had a long name
<geist> kk. i think it was someone else
<superleaf1995> i was the guy who asked about pci and stuff
<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
<superleaf1995> wasn't that skyz?
<geist> no skyz just wont stop blathering
<geist> i figure he'll grow up in a few years
<geist> and yeah i remember that you were building the PCI configuratio thing. got it
<superleaf1995> yeah and i dwelved a bit too much onto it
<geist> haha
<geist> well, i recently got around to doing much of the same thing
<superleaf1995> "lemme do the work of the bios and manage the power control of the pci bus" :p
<geist> though i haven't yet written the actual BAR assignment stuff, but its needed for ARM and riscv qemu at least
<superleaf1995> bar assignment is horrible with bridges
<geist> so i was thinking back to what you had been doing at the time
<geist> yep!
<superleaf1995> i liked risc-v; sadly one can't just havea ficticious OS that won't run on real hw
<superleaf1995> so i just threw my progress into the garbage can
<superleaf1995> now i am here, writing an OS+bootloader for machines only used by big $$$ banks or scavengers
<superleaf1995> [have yet to test on realiron, but it's getting there btw]
<klys> should have bought the k210 sipeed board
<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?
<superleaf1995> geist: because nobody else would
<geist> okay. sounds good
<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"
<geist> my only real point here is you have far more capability to have a real riscv machine than an IBM mainframe
<superleaf1995> micro 390s exists, and some people have offered to ipl my os on the real thing
mahmutov has quit [Ping timeout: 240 seconds]
<geist> okey dokey. funny i was actually thnking of getting a linux account on a ibm virtual machine
<CompanionCube> sounds cool
<geist> i had read somewhere you can get one
<bslsk05> ​developer.ibm.com: Get started with IBM LinuxONE – IBM Developer
<superleaf1995> there was an ibm z hobbyst program iirc
<geist> haven't looked into it, but i think you can get a 6 month account on that
<CompanionCube> i know that for z/OS they have a year-long thing 'master the mainframe'
<geist> figured could at least fiddle with the ISA a bit
<superleaf1995> CompanionCube: right now i am only using mvs3.8j
<superleaf1995> z/OS is like big $$$ to get hands on
<CompanionCube> well, get your hands on legitimately.
GeDaMo has quit [Remote host closed the connection]
<superleaf1995> the entire point is to make an os for z/Arch
<superleaf1995> and as of date only z/PDOS exists -> and it needs a device called SYSG and it should run on realiron
<CompanionCube> iirc at one point there was an opensolaris port to z
<superleaf1995> problem is that SYSG is weird af
<CompanionCube> but it was never fully opensourced and obviously killed off
<superleaf1995> rip
<bslsk05> ​www.theregister.com: You've got OpenSolaris in my System z • The Register
<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 :)
<bslsk05> ​www.theregister.com: Sun's IBM-mainframe flower wilts under Oracle's hard gaze • The Register
<superleaf1995> kingoffrance: i am mostly for the fact of makiing z/Arch something that isn't esoteric
<superleaf1995> and that begineer osdevers can get their hands on it
<CompanionCube> inb4 'go even more esoteric, resurrect system/38'
<superleaf1995> be it realiron or not (probably the latter but with proper testing it should become diffuse enough to not matter)
<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
<geist> like you need some proprietary firmware
<geist> or it only is useful for user space emulation?
<superleaf1995> it does not have normal 390 peripherals
<geist> ah
<superleaf1995> you're just running z/VM
<superleaf1995> qemu emulates a z/VM virtual machine, not the machine itself
<CompanionCube> oh is that what it emulates? huh
C-Man has quit [Ping timeout: 240 seconds]
<CompanionCube> granted all modern z hardware runs a built-in hypervisor anyway doesn't it?
<superleaf1995> no[?]
<superleaf1995> if i recall correctly z/OS manages the VMs
<superleaf1995> which uses **assisted** hypervisor tools
<CompanionCube> https://en.wikipedia.org/wiki/PR/SM is what i meant
<bslsk05> ​en.wikipedia.org: PR/SM - Wikipedia
<superleaf1995> yeah
<superleaf1995> but you need an os to manage all of that
<geist> MU/TH/UR
<CompanionCube> true
<geist> you should write a OS called that
<superleaf1995> MU/TH/UR??
<superleaf1995> what does that mean? :p
<geist> https://youtu.be/qFXnMB9jwRs was the fictional main computer on the Nostromo in the movie Alien
<bslsk05> ​'Alien (1979) Ambience | Nostromo (MU-TH-UR 6000) | ASMR, STUDY, RELAXING, SLEEP' by Armchair Ambience (01:00:00)
<CompanionCube> hm, it has 6000 in the name
<CompanionCube> obviously the best fit for the OS would be a RS/6000 POWER machine :p
<superleaf1995> ah yes
<geist> https://youtu.be/2ywWFvjE-yU?t=31 is what booting your computer should be every morning
<bslsk05> ​'Nostromo boot sequence + Interface 2037 ("mother") - Alien computer sounds/glitches' by jpcqa (00:01:20)
<superleaf1995> the ol' days when people carried a handheld RS/6000 POWER workstation to schoold
<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
<superleaf1995> at that point just write a COBOL program to automatically configure the thing
night has quit [Quit: goodbye]
night has joined #osdev
sdfgsdfg has joined #osdev
<bslsk05> ​groups.google.com: Requirements for PVH stubdoms?
<klys> > "There is experimental work on qubes-devel (by Paul Durrant) on
<klys> > standalone PCI emulators (no qemu)."
xenos1984 has quit [Read error: Connection reset by peer]
<klys> the prospect of booting a kernel without qemu is what's bothering me
<klys> note: I just compiled xen-4.14.3.tar.gz with patches from https://github.com/QubesOS/qubes-vmm-xen
<bslsk05> ​QubesOS/qubes-vmm-xen - Qubes component: vmm-xen (44 forks/24 stargazers/NOASSERTION)
<CompanionCube> can't you already boot them without qemu under PVH?
<CompanionCube> just not with PCI devices it seems
<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
<CompanionCube> iirc xen on arm *only* does PVH
<klys> now if I could just get a handle on how to run that binary
<klys> I suspect something like "xl create" except I've looked far and wide and no one has a xl.cfg file for me.
<bslsk05> ​wiki.xenproject.org: Linux PVH - Xen
<klys> yes that's xen not qubes, so I'm unsure how to get the video
<CompanionCube> ah
<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
<klys> to be clear: the device model is vm-dm and shows up first in xl list;
<klys> it runs qemu for the hvm
* CompanionCube doesn't know much about how qubes is set up
<klys> I have had some success running the tool to get the display for the vm
<klys> I had to go in and modify the qemu commandline in the rootfs for the stubdom
<klys> so if I don't put it back, my machine won't start up properly if I reboot :)
<klys> by stubdom in this context I mean the kernel running in the device model vm-dm
biblio_ has joined #osdev
<sham1> Companion Qube
<sham1> A container that follows you around and does not threaten to stab you
<klys> so, I think qubes relies on the linux kernel to communicate with the qubes-guid program
<klys> which stands for gui daemon
xenos1984 has joined #osdev
<klys> after starting the vm with virsh at dom0, I then have to run that program to get the window.
Lugar has left #osdev [Leaving]
biblio has quit [Ping timeout: 250 seconds]
<klys> one problem is virsh never terminates, another problem is the vm numbers from xl list; are ever increasing.
<klys> sham1: stab: symbol table
biblio_ is now known as biblio
<sham1> I prefer to have DWARFs working for me
<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
<kingoffrance> i dont see any breaking API change, merged
sdfgsdfg has quit [Quit: ZzzZ]
<klys> here's part of what I need, https://wiki.debian.org/PvGrub
<bslsk05> ​wiki.debian.org: PvGrub - Debian Wiki
<klys> and then to make sure linux boots and starts the gui
<klys> and the gui is in the xserver-xorg-video-dummyqbs deb package
tenshi has quit [Ping timeout: 250 seconds]
tenshi has joined #osdev
ZombieChicken has joined #osdev
tenshi has quit [Ping timeout: 240 seconds]
gog has quit []