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
<moon-child> me_cleaner!
<heat> you_cleaner? :P
<klange> Just get a regular box that has coreboot support so you know it's a viable target to flash your own startup code to.
<klange> There aren't really any x86 dev boards - there was that line of Arduino-compatible x86 boards, Galileo, but they were total junk and were discontinued years ago.
isaacwoods has quit [Quit: WeeChat 3.2]
<bslsk05> ​community.intel.com: Distinct or not, the original - Intel Community
<heat> klange: that's an idea, but going that route is also a bit expensive. I assume 100 for a mobo + 200 for a decent CPU gets me up to 300 or so, plus RAM and plus power supply
<heat> with all that I might just go for a regular build :P
heat has quit [Quit: Leaving]
heat has joined #osdev
nyah has quit [Quit: leaving]
ElectronApps has joined #osdev
<klange> heat: that would really be my first suggestion; x86 is a terrible target if you want to run _only_ your code - it's infected from the first instruction
<brynet> other peoples code-- the horror!
<klange> If you accept that firmware is firmware and set your goal as running only your _software_, then really any ol' x86 box can probably work out.
<heat> the whole "I want to run my own firmware" thing is purely for a fun aspect, and because I want to run my tianocore code on it
<heat> and I can't really rebuild the firmware image if it's not an open board and/or I can't write open-source bring up code for that same board
<heat> i'm not on a "urr durr closed source bad other peoples code bad" trip
<clever> for me, its a matter of being able to fix things without waiting for help from a limited set of authorized people
<clever> heat: ive been trying to netboot my pi400 for 3 days now, and it just hangs after printing 3 lines of debug
<clever> and without source, i cant add more debug or try to fix it
<heat> for example, I'd really like to run my ext4 driver in my own system but it's simply not possible if I can't flash my own image on the board
<clever> i recently added ext4 to LK's ext2 driver
<heat> the raspi would be a possible target for that since the raspi board code is open-source but it's not really pure UEFI (and I can't have the challenge of writing bring up code)
<heat> (I could also have the ext4 driver on the ESP and use that DRIVER_* variable thing to load it but that's not exactly the kind of system partition purity I want :P)
<clever> heat: now that LK has ext4 drivers, i could create a bootcode.bin, that loads start.elf off of an ext4 partition
dutch has quit [Quit: WeeChat 3.0.1]
dutch has joined #osdev
pretty_dumm_guy has quit [Quit: WeeChat 3.2]
mctpyt has quit [Ping timeout: 250 seconds]
mctpyt has joined #osdev
tacco has quit []
AssKoala has quit [Ping timeout: 240 seconds]
flx-- has joined #osdev
flx- has quit [Ping timeout: 252 seconds]
mahmutov has quit [Ping timeout: 248 seconds]
sts-q has quit [Ping timeout: 248 seconds]
gorgonical has quit [Ping timeout: 248 seconds]
gorgonical has joined #osdev
smeso has quit [Quit: smeso]
smeso has joined #osdev
srjek has quit [Ping timeout: 240 seconds]
ElectronApps has quit [Remote host closed the connection]
YuutaW has joined #osdev
heat has quit [Ping timeout: 252 seconds]
bradd has quit [Remote host closed the connection]
paulman has quit [Remote host closed the connection]
paulman has joined #osdev
bradd has joined #osdev
bradd has quit [Remote host closed the connection]
immibis has joined #osdev
froggey has quit [Ping timeout: 248 seconds]
froggey has joined #osdev
bradd has joined #osdev
bradd has quit [Remote host closed the connection]
bradd has joined #osdev
tacco has joined #osdev
GeDaMo has joined #osdev
tacco has quit []
dennis95 has joined #osdev
sortie has joined #osdev
Oshawott has joined #osdev
archenoth has quit [Ping timeout: 250 seconds]
<geist> clever: reminds me, i'll try to get to getting that ext4 stuff tested and merged
<clever> geist: one thing i didnt test at all, was ext3 fs's
<clever> the readdir code is also still a bit buggy, but it depends on how big of a dir you want to allow `ls` with, since `ls` isnt a major priority
<clever> i could split opendir/readdir into its own PR if you think the code is too bad
ElectronApps has joined #osdev
<clever> oh yeah, and the ext4 extent stuff, only supports files with 4 fragments, more isnt supported yet
fedorafan has quit [Quit: Textual IRC Client: www.textualapp.com]
kulernil has joined #osdev
paulman has quit [Remote host closed the connection]
ornitorrincos has quit [Ping timeout: 252 seconds]
ornitorrincos has joined #osdev
pg12_ has joined #osdev
mniip has quit [Quit: This page is intentionally left blank.]
mniip_ has joined #osdev
MiningMarsh has quit [Quit: ZNC 1.8.2 - https://znc.in]
MiningMarsh has joined #osdev
pretty_dumm_guy has joined #osdev
pretty_dumm_guy has quit [Client Quit]
pretty_dumm_guy has joined #osdev
mctpyt has quit [Ping timeout: 250 seconds]
mctpyt has joined #osdev
AssKoala has joined #osdev
mctpyt has quit [Ping timeout: 252 seconds]
mctpyt has joined #osdev
mctpyt has quit [Ping timeout: 250 seconds]
mctpyt has joined #osdev
AssKoala has quit [Ping timeout: 250 seconds]
<klange> i found another qemu bug~
<klange> gtk ui is misinterpreting GDK_2BUTTON_PRESS as a release event and dropping the mouse button
<zid> yea I saw that on the qemu channel I think
nyah has joined #osdev
<klange> Well, tested on git master and submitted a ticket with a fix patch: https://gitlab.com/qemu-project/qemu/-/issues/558
<bslsk05> ​gitlab.com: gtk UI interprets double/triple click as button release (#558) · Issues · QEMU / QEMU · GitLab
isaacwoods has joined #osdev
AssKoala has joined #osdev
gateway2000 has joined #osdev
air has joined #osdev
dzwdz has joined #osdev
dzwdz has quit [Client Quit]
dzwdz has joined #osdev
dzwdz has quit [Client Quit]
dzwdz has joined #osdev
dzwdz has quit [Client Quit]
scaleww has joined #osdev
dzwdz has joined #osdev
AssKoala has quit [Ping timeout: 252 seconds]
moon-child has quit [Remote host closed the connection]
moon-child has joined #osdev
scaleww has quit [Quit: Leaving]
hl has quit [*.net *.split]
j00ru has quit [*.net *.split]
alexander has quit [*.net *.split]
mavhq has quit [*.net *.split]
Patater has quit [*.net *.split]
puck has quit [*.net *.split]
warlock has quit [*.net *.split]
johnjay has quit [*.net *.split]
nanovad has quit [*.net *.split]
night has quit [*.net *.split]
hmmmm has quit [*.net *.split]
nur has quit [*.net *.split]
sm2n has quit [*.net *.split]
LambdaComplex has quit [*.net *.split]
Ameisen_ has quit [*.net *.split]
sham1 has quit [*.net *.split]
fkrauthan has quit [*.net *.split]
HeTo has quit [*.net *.split]
remexre has quit [*.net *.split]
janemba has quit [*.net *.split]
clever has quit [*.net *.split]
hl has joined #osdev
johnjay has joined #osdev
j00ru has joined #osdev
HeTo has joined #osdev
mavhq has joined #osdev
sm2n has joined #osdev
LambdaComplex has joined #osdev
Ameisen_ has joined #osdev
sham1 has joined #osdev
fkrauthan has joined #osdev
remexre has joined #osdev
alexander has joined #osdev
clever has joined #osdev
Patater has joined #osdev
warlock has joined #osdev
night has joined #osdev
hmmmm has joined #osdev
nanovad has joined #osdev
puck has joined #osdev
nur has joined #osdev
janemba has joined #osdev
regreg has joined #osdev
ahalaney has joined #osdev
srjek has joined #osdev
AssKoala has joined #osdev
ElectronApps has quit [Remote host closed the connection]
kciredor has joined #osdev
heat has joined #osdev
pretty_dumm_guy has quit [Quit: WeeChat 3.2]
regreg has quit [Remote host closed the connection]
zaquest has quit [Remote host closed the connection]
<vin> What does max SMP mean? Know what smp stands for what is the number associated with?
<j`ey> without context, I guess it's a maximum hardcoded into some software
<j`ey> that the software can be with, like num_cpus?
<vin> j
<vin> j`ey: for example https://en.wikichip.org/wiki/intel/xeon_platinum/8260l max smp here says 8-way
<bslsk05> ​en.wikichip.org: Xeon Platinum 8260L - Intel - WikiChip
<vin> what does that mean?
<j`ey> not sure
zaquest has joined #osdev
<zid> symmetric multi processor
<zid> aka 8 socket motherboard
<zid> that's what the leading 8 means on the chip name
regreg has joined #osdev
<vin> zid: The number of UPI link on this chip is 3 so you can have 8 sockets connected to each other at max (a cube), so SMP max is 8?
YuutaW has quit [Ping timeout: 240 seconds]
LostFrog has quit [Ping timeout: 240 seconds]
PapaFrog has joined #osdev
<heat> the FSB message addresses and data values the HPET documentation mention are like the MSI ones right?
<ckie> hey, i'm like https://wiki.osdev.org/Dae_Dreamer, can someone tell me to get fucking started already?
<bslsk05> ​wiki.osdev.org: Dae Dreamer - OSDev Wiki
<sham1> Get started already
<GeDaMo> Do you have any particular areas of interest?
<heat> ckie, look at the bare bones tutorial
<sham1> Don't let your dreams be dreams
<sham1> JUST DO IT
<sham1> YES YOU CAN
<heat> that's super 2015 sham1
<sham1> Yes
<heat> Just Do It(tm) #AD
<ckie> thanks peeps :D
<gog> i feel attacked
<heat> jeez I guess we have an adidas stan here
<gog> all day i dream about osdev
<ckie> my brain is already hurting from thinking about all the compiler passes that will need to be made
regreg has quit [Remote host closed the connection]
<ckie> (my OS idea is more of a compiler)
<heat> i'd recommend you go for something way more basic
<heat> have something *run* at first
<heat> then you can go for your ideas
<ckie> heat: but why? i'll throw it away anyway
<ckie> i can get by with x86 asm somewhat well already
<heat> because if you go for $simple_embedded_kernel at first you'll get motivation to go further
mahmutov has joined #osdev
regreg has joined #osdev
<ckie> i meann, it would be cool if the compiler could run standalone~
<ckie> like a bootstrap compiler but s/compiler/os/
<ckie> ok heat, you've got me hooked on that idea now
<heat> while if you think about your crazy compiler ideas(not saying they won't work, but they're possibly super hard) and go right after them, you might get bored/unmotivated
<heat> if I were you i'd go for "simple thing that runs" first, then I would build whatever you want to build on top of it
<ckie> my brain likes seeing a clear path
<heat> particularly considering something like a compiler or interpret will require whatever you develop on $simple_embedded_kernel
<heat> interpreter*
<heat> like memory allocation, exception handling(spoiler: your compiler will crash)
<GeDaMo> You could develop for a virtual machine then get the VM to run on the bare metal
<sham1> gog: same. I thought that now having some vacation time might give me time to do this stuff. It turns out however that I have other things to do and I still have no time for this
<ckie> sham1: i don't have much time either, but my problem is getting started. afterwards it's easy
<heat> oh yeah GSoC finished yesterday so I'm kind of finally free
pretty_dumm_guy has joined #osdev
<gog> i have plenty of time really, just no motivation to speak of :p
<heat> I miss writing networking code :(
YuutaW has joined #osdev
rubion has joined #osdev
<ckie> i seem to be super afraid of having to start over even though it's inevitable
<ckie> so, yolo
<ckie> i've had this channel on my buffer list looking at me for months
<heat> i've started over like 2 or 3 times
<GeDaMo> When you gaze into the abyss, the abyss gazes also into you :|
<heat> it's not an issue
<ckie> i know, but my brain disagrees
<gog> i've been gazing into the abyss for years
<gog> just waiting for it to swallow me (:
<heat> I stared at my build system for months
<heat> turns out staring at something doesn't make it better
<gog> hm maybe not but i'll keep trying
<GeDaMo> Douglas Adams described his writing process as "staring at a blank piece of paper until my forehead bleeds"
<ckie> it's weird how with stuff like this all the principles i easily stick to disappear
YuutaW has quit [Quit: WeeChat 3.2]
<Bitweasil> I should read HHGTTG again, see if it holds up.
<Bitweasil> I don't think my oldest kid is old enough to appreciate the absurdity yet.
johnjay has quit [Ping timeout: 268 seconds]
johnjay has joined #osdev
<GeDaMo> "Babel Fish - The Oddest Thing In The Universe" https://www.youtube.com/watch?v=iuumnjJWFO4
<bslsk05> ​'Babel Fish - The Oddest Thing In The Universe - The Hitchhiker's Guide To The Galaxy - BBC' by BBC Studios (00:04:16)
regreg has quit [Remote host closed the connection]
<j`ey> I think HHGTTG holds up
<sham1> It's so good
<sham1> Should probably read it again
<ckie> build system suggestions for when i don't care about the build system and i can already ensure i have the right environment?
<ckie> (using NixOS)
<GeDaMo> There's also the original radio series, the LPs, and a TV series :P
<j`ey> and film!
<GeDaMo> We don't talk about the film :|
<j`ey> I liked it :P
<heat> ckie, make?
<heat> make is the most "i dont care" build system you have
<heat> unless you're weird and go for a shell script
<ckie> heat: oh, i asked a bad question - i want ccls to not break too :p
<heat> does it use compile_commands.json?
<ckie> mhm
<heat> if so you can wrap bear around full builds and most language servers Just Work(tm)
<ckie> oh yeah, that's what it was called!
<ckie> thanks
<heat> seriously, I've wrapped the EDK2 build system (bunch of python scripts + make) with bear and things just work
<heat> it's magic
<j`ey> heat: can you rewrite edk2 build system in gn now, thx
<heat> lolno
<heat> making it generate ninja wouldn't be a bad idea though
<heat> funnily enough lots of things actually grew on me
<heat> the build system, the coding style
<heat> definitely not the GUID fetish though
<j`ey> heh
<Nuclear> I love make, there's nothing that comes close for me in terms of elegance, generality, and versatility
<Nuclear> (GNU make really)
<heat> i hate make lol
<Nuclear> so it's not an "I don't care" choice for me. But a very deliberate one
<heat> it's too low level for most tasks
<Nuclear> I don't think so
<heat> if you look at gn, bazel, meson, whatever, you'll see way friendlier build systems
<Nuclear> "friendlier" build systems have a tendency to have pre-baked assumptions, which I find extremely irritating
<heat> that then output whatever low level build system they need like make, ninja, visual studio project files, etc
<heat> not really
<sham1> R E D O
<Nuclear> either that, or they devolve to full scripting languages, which i also find inelegant
<heat> make is also a scripting language
<vin> In general, how/where do you identify/shop the chipset for a processor?
<Nuclear> make hits just the right spot. It's agnostic about what you're truing to build, yet elegant enough to allow you to express build rules in a succint way
<heat> vin, what do you mean?
<heat> Nuclear, yes but you need to reinvent the wheel every time you want to write a makefile
<Nuclear> I don't think so
<Nuclear> most of my makefiles are very short
<heat> out of tree builds? reinvent the wheel. header deps: reinvent the wheel (why would it not be baked in the build system?). complicated project layouts: reinvent the wheel
<vin> heat: I want to build a dual socket machine with particular processors. I also have other requirements such as support for m2 slots and RDMA adapters and so
<heat> and then you try an incremental build and immediately switch to ninja
<vin> on
<vin> Which chipset would I start with?
<Nuclear> header deps are provided by gcc, out of tree builds I have never tried to do so I can't say, and incremental builds are the bread and butter of make
<heat> lol
<heat> incremental builds + make are the reason for ninja's existance
<Nuclear> the reason for X's existence might be something, but that doesn't mean "make doesn't do that something"
<Nuclear> I don't know what problems you had with incremental builds with make, but I never had any problem
<heat> vin, look for mobos compatible with the CPUs, and look at their features (or filter through them) would be my guess. at least that's how I would do for a regular consumer platform
<heat> it's super fucking slow
<heat> ninja is already faster than make in full builds, and it's way faster for incremental builds
<Nuclear> and the slowdown is make ? never had an issue like that
<Nuclear> usually the bottleneck is the compiler, especially with C++ builds
<Nuclear> and the linker
aleamb has joined #osdev
AssKoala has quit [Ping timeout: 252 seconds]
<vin> heat: would one buy multi socket motherboards from consumer providers like ASUS and gigabyte? Moreover most of these chipsets seem to be single socket https://www.gigabyte.com/MicroSite/454/intel-optane-ready.html
<bslsk05> ​www.gigabyte.com: Intel® Optane™ Memory Ready - GIGABYTE
<heat> that's optane stuff though?
<vin> Yea I will also have some optane dimms
rubion has quit [Ping timeout: 250 seconds]
h4zel has joined #osdev
<h4zel> Hi! I'm so sorry, do you guys know what "-fda" does in qemu? the man page for it is just blank and my drive reads fail without it
<j`ey> i think it's a floppy drive?
<h4zel> Oh, really? That's super weird. I wrote all this code myself, and I wrote it for just an image
<h4zel> I'll try getting the error message from the read, thank you so much!
<heat> fda means "put floppy on A" I think
<heat> where A, B, C, D are channels in the IDE controller
<heat> in that case A won't have anything? not sure
<heat> maybe the floppy controller thing also has channels and the letters are internal?
regreg has joined #osdev
Oshawott has quit [Read error: Connection reset by peer]
solar_sea has joined #osdev
rubion has joined #osdev
archenoth has joined #osdev
kaitsh has joined #osdev
kaitsh has quit [Client Quit]
kaitsh has joined #osdev
mniip_ is now known as mniip
freakazoid343 has quit [Ping timeout: 248 seconds]
Izem has joined #osdev
<Izem> are windows nt syscalls stable?
<GeDaMo> I don't think so, you're meant to go through some DLL, I think
AssKoala has joined #osdev
<heat> the numbers aren't but I think the API is
<Izem> ok
GeDaMo has quit [Quit: Leaving.]
<h4zel> huh, so it looks like the read fails with an error of 02 "bad sector" unless ran as a floppy
<h4zel> weird
MarchHare has quit [Ping timeout: 250 seconds]
freakazoid333 has joined #osdev
kori has joined #osdev
regreg has quit [Ping timeout: 240 seconds]
mxshift has joined #osdev
<Bitweasil> Izem, I believe every major release of Windows scrambles the syscall #s for "security through annoyance" or something.
<Izem> oh interesting
mhall has quit [Quit: Connection closed for inactivity]
<Bitweasil> I didn't do a ton of work with the Windows syscall stuff, Linux is a lot nicer.
<Bitweasil> Stable syscall interface #s.
archenoth has quit [Read error: Connection reset by peer]
Izem has quit [Quit: Going offline, see ya! (www.adiirc.com)]
h4zel has quit [Quit: WeeChat 3.0.1]
<moon-child> it remained stable for a number of major releases in a row, I don't think it's that
<moon-child> iirc there were a couple of major refactors done or something
onelegend has joined #osdev
<onelegend> what do OS's use for memory isolation? (not just W^X, but preventing program A from reading the memory of program B)
<heat> MMU
<j`ey> virtual memory
<clever> onelegend: each process has a different paging table, and the MMU will then ensure that a given virtual address, shows different things, depending on who is asking
<Bitweasil> Modern OSes do that, yes. Go far enough back, "Please don't..." is about the protection you get.
<Bitweasil> (DOS, Classic MacOS, etc)
<heat> post-meltdown and spectre linux too :P
<Bitweasil> Heh. Yeah...
<onelegend> what happened after post-meltdown and spectre?
gateway2000 has quit [Read error: Connection reset by peer]
<moon-child> we became even more aware of how stupid an idea it is to try to run untrusted software on the same hardware as sensitive information
regreg has joined #osdev
MrBonkers has quit [Quit: The Lounge - https://thelounge.chat]
MrBonkers has joined #osdev
<onelegend> nah I was unsure of what heat meant
<onelegend> but hey, we got VMs no? :)
<heat> they were a couple of exploits that let you indirectly read data across process boundaries and kernel <-> user boundaries
<heat> of course, they're patched by every OS and fixed by the CPU vendors, it's just a joke :P
dennis95 has quit [Quit: Leaving]
Arthuria has joined #osdev
<moon-child> heat, 'patched'
<moon-child> the fundamental problem is still there
<heat> sure it is, but you can't exploit it
<heat> boom, problem solved
gorgonical has quit [Ping timeout: 252 seconds]
<vin> Why would a dual socket motherboard require 3 UPI links? https://www.supermicro.com/en/products/motherboard/X11DPX-T
<bslsk05> ​www.supermicro.com: X11DPX-T | Motherboards | Products | Super Micro Computer, Inc.
<vin> oh 2-way SMP on 3 links. Never mind!
gorgonical has joined #osdev
rubion has quit [Ping timeout: 240 seconds]
gateway2000 has joined #osdev
MarchHare has joined #osdev
kaitsh has quit [Quit: WeeChat 3.0]
gateway2000 has quit [Read error: Connection reset by peer]
gateway2001 has joined #osdev
gateway2001 is now known as gateway2000
Arthuria has quit [Ping timeout: 252 seconds]
ahalaney has quit [Quit: Leaving]
regreg has quit [Ping timeout: 250 seconds]
regreg has joined #osdev
elastic_dog has quit [Ping timeout: 240 seconds]
archenoth has joined #osdev
elastic_dog has joined #osdev
onelegend has quit [Quit: WeeChat 2.8]
onelegend has joined #osdev
onelegend has quit [Client Quit]
onelegend has joined #osdev
onelegend has quit [Client Quit]
onelegend has joined #osdev
sortie has quit [Quit: Leaving]
regreg has quit [Ping timeout: 240 seconds]
<onelegend> how's it going boiz
mahmutov has quit [Ping timeout: 252 seconds]
<klange> rewrote my old color picker widget, time to make new paint app https://klange.dev/s/Screenshot%20from%202021-08-25%2008-18-09.png
pretty_dumm_guy has quit [Quit: WeeChat 3.2]
<onelegend> oi!
<onelegend> good job mate
<onelegend> klange: you made that OS?
AssKoala has quit [Ping timeout: 240 seconds]
<heat> i've just slept like two hours
<heat> i'm a super busy person as you can see
<onelegend> yesss