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
opal has quit [Ping timeout: 268 seconds]
opal has joined #osdev
foudfou has quit [Remote host closed the connection]
foudfou has joined #osdev
brenns10 has quit [Quit: Ping timeout (120 seconds)]
brenns10 has joined #osdev
sprocket is now known as sprock
arch-angel has quit [Ping timeout: 240 seconds]
hypoalge1 has joined #osdev
arch_angel has joined #osdev
SpikeHeron has quit [Quit: WeeChat 3.6]
pretty_dumm_guy has quit [Quit: WeeChat 3.5]
SpikeHeron has joined #osdev
<zid> I can't remember the xset command I need to stop my screen blanking :/
<zid> s off? -dpms? who knows
<clever> zid: `xset dpms force off` forcibly turns it off, and i think it also breaks the automatic blanking
<clever> having a video player like mpv open also disables it
<zid> I think `s off` is the one I needed
<zid> it was it trying to activate a screensaver that was a black screen
<zid> rather than it turning the display off
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
<zid> oh good news, rust finally finished building
<Mutabah> Building rustc?
<\Test_User> has your cpu turned to rust yet while waiting?
<Griwes> rust? finished building?
<Griwes> must be a top500 system
Terlisimo has quit [Quit: Connection reset by beer]
nyah has quit [Ping timeout: 240 seconds]
<zid> how else am I going to get rust built with -march=native
Terlisimo has joined #osdev
gog has quit [Ping timeout: 268 seconds]
nur has joined #osdev
zaquest has quit [Remote host closed the connection]
zaquest has joined #osdev
foudfou_ has joined #osdev
heat has quit [Ping timeout: 240 seconds]
foudfou has quit [Ping timeout: 268 seconds]
[_] has joined #osdev
[itchyjunk] has quit [Ping timeout: 240 seconds]
gdd1 has quit [Ping timeout: 240 seconds]
gdd1 has joined #osdev
[_] has quit [Remote host closed the connection]
<moon-child> why are you building rust, anyway?
<Mutabah> I saw a comment about `-march=native`
<\Test_User> you can get a pre-compiled one with -march=your-arch :P
<\Test_User> somewhere, somehow...
<Mutabah> ... but why, unless you're expecting to compile LOT and your CPU has some fancy features not used in the standard builds
<\Test_User> if you're expecting rust to take ages to compile, and you don't have the most basic/earliest <arch> cpu?
skipwich has quit [Quit: DISCONNECT]
skipwich has joined #osdev
gorgonical2 has joined #osdev
<gorgonical2> Moving from qemu serial to hardware serial has not been smooth. The bootloader prints to the serial just fine, but after I write the first byte the program hangs. The serial port works so I must just be doing it wrong. Are there any things I should be checking for? Obvious mistakes?
<Mutabah> Do you wait for the fifo to be clear before writing?
<Mutabah> check for error states?
<gorgonical2> Yes, I'm pretty sure. Not checking about error states though
<Mutabah> Tip: You can do the linux trick of setting/flashing the keyboard lights on error
<gorgonical2> On this riscv board the txreg is 0x0 offset and the bootloader uses 1<<31 to compare against the fullbit
<Mutabah> Binary search using single-byte writes?
<gorgonical2> I have tried that. Even consecutive sb t1, (\port) lines only output the single byte
<Mutabah> Cache?
<gorgonical2> Possible. The board has a known erratum with caching but my understanding is the memory itself imposes cacheability restrictions
<gorgonical2> It should only be on ifetch that this erratum occurs though
<clever> what if you just disable the checks for the uart tx fifo?
<clever> it should be able to send a ~16 char burst before having overruns
<clever> and that can get some debug out
<clever> (depends on the actual tx fifo length)
<gorgonical2> The current code just sends the character three times whenever the early asm routine is called, so I *should* already be seeing three bytes
<gorgonical2> I'm hoping that it's something to do with caching and I need to manually specify a memory prot region that forces it all to be no-cache
<gorgonical2> I would expect the bootloader/sbi platform firmware to do that, though. If that's the problem it's actively unsetting that protection when it jumps to the kernel
<clever> qemu generally ignores all cache control flags, and just makes everything cached and coherent, via the host caches
<clever> but you can still use qemu to inspect how your code configured the cache flags
<Mutabah> Do you have any other available output stream?
<gorgonical2> No. This is the jump from fully-working qemu to hardware, so this is the earliest bringup
<gorgonical2> I have status lights that might indicate something, but I think it's just bootsequence
<gorgonical2> clever: do you mean in like uart config itself or the page tables?
<Mutabah> If you can write to that bit, then see if you can toggle it?
<Mutabah> (The status light bit)
<gorgonical2> Mutabah: I don't actually know if it's user-space writable. I know firmware can control it but I dunno about s-mode
<gorgonical2> I will check though
<gorgonical2> I don't mean user-space, excuse me
<clever> gorgonical2: anything cache related, like dcache enable bits, mmu config, paging tables
<gorgonical2> Yeah. It's at work now but I think I'll check to see if like the bootloader actively disables the PMP when it jumps to the kernel. That would at least be a clear lead
smeso has quit [Quit: smeso]
gildasio has quit [Read error: Connection reset by peer]
gildasio has joined #osdev
smeso has joined #osdev
JTL1 is now known as JTL
xenos1984 has joined #osdev
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
arch_angel has quit [Read error: Connection reset by peer]
arch_angel has joined #osdev
air has quit [Read error: Connection reset by peer]
arch_angel has quit [Ping timeout: 268 seconds]
SGautam has joined #osdev
gildasio has quit [Remote host closed the connection]
air has joined #osdev
gildasio has joined #osdev
gxt___ has joined #osdev
hypoalge1 has quit [Quit: WeeChat 3.6]
gxt__ has quit [Remote host closed the connection]
jjuran has quit [Ping timeout: 240 seconds]
foudfou_ has quit [Quit: Bye]
foudfou has joined #osdev
gorgonical2 has quit [Ping timeout: 240 seconds]
poyking16 has joined #osdev
jjuran has joined #osdev
MiningMarsh has quit [Quit: ZNC 1.8.2 - https://znc.in]
foudfou has quit [Remote host closed the connection]
the_lanetly_052_ has joined #osdev
foudfou has joined #osdev
MiningMarsh has joined #osdev
vdamewood has joined #osdev
orccoin has joined #osdev
the_lanetly_052_ has quit [Ping timeout: 240 seconds]
foudfou_ has joined #osdev
foudfou has quit [Ping timeout: 268 seconds]
jjuran has quit [Ping timeout: 240 seconds]
jjuran has joined #osdev
dormito has quit [Ping timeout: 244 seconds]
bauen1 has quit [Ping timeout: 240 seconds]
dormito has joined #osdev
scaleww has joined #osdev
foudfou_ has quit [Remote host closed the connection]
foudfou has joined #osdev
gxt___ has quit [Remote host closed the connection]
gxt___ has joined #osdev
eroux has quit [Ping timeout: 245 seconds]
eroux has joined #osdev
bauen1 has joined #osdev
poyking16 has quit [Ping timeout: 240 seconds]
kingoffrance has quit [Ping timeout: 268 seconds]
eroux has quit [Ping timeout: 268 seconds]
GeDaMo has joined #osdev
Jerjerbinks has joined #osdev
<Jerjerbinks> hows it developing
<vdamewood> Like I contaminatd the darkroom with a flash light.
<vdamewood> contaminated*
lkurusa has joined #osdev
lkurusa has quit [Quit: I probably fell asleep (or went out). Who will ever know.]
SGautam has quit [Quit: Connection closed for inactivity]
gog has joined #osdev
socksonme_ has joined #osdev
eroux has joined #osdev
Jerjerbinks has quit [Ping timeout: 268 seconds]
foudfou has quit [Ping timeout: 268 seconds]
heat has joined #osdev
SpikeHeron has quit [Quit: WeeChat 3.6]
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
pg12 has quit [Ping timeout: 252 seconds]
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
pg12 has joined #osdev
<zid> hmm binwalk not being helpful as it could be
<zid> it finds a bunch of stuff, but refuses to actually extract anything but a single zip
<zid> have to use --dd=".*"? really? why is that not just what -e does, stupid thing
<zid> and some automatic extensions would be nice
arch_angel has joined #osdev
poyking16 has joined #osdev
[_] has joined #osdev
SGautam has joined #osdev
[_] is now known as [itchyjunk]
nyah has joined #osdev
wootehfoot has joined #osdev
wootehfoot has quit [Quit: Leaving]
<heat> geist, do you know if the new amd64 tlb shootdown instructions are in zen3?
bauen1 has quit [Ping timeout: 252 seconds]
orccoin has quit [Ping timeout: 268 seconds]
mykernel has joined #osdev
antranigv has quit [Remote host closed the connection]
antranigv has joined #osdev
<mykernel> if i write to framebuffer more than one pixel without breakpoint() in between, vm reboots; if i have breakpoints/delay placed between every pixel draw it works fine; i am using multiboot2 to get fb address
<heat> mykernel, using qemu?
<mykernel> both happens in qemu and bochs
<mykernel> i am testing with bochs breakpoints and if i put them between drawing single pixels everything works normally
[com]buster has joined #osdev
<heat> mykernel, try -d int
<heat> that will give you an interrupt/exception log
<heat> your "reboot" is just a triple fault
<mykernel> yeah ik, i do not have idt for this kernel; but what interrupt/exception could be called for this writing without delay => that causes gpf because there is no idt => triple fault
<heat> i dont know
<heat> that's what we're figuring out
* zid waits for the -d int log
<zid> boo the penultimate tortilla in my pack was fucked, so now I have none left
<heat> paste it in irc chat
<heat> fuck everyone
<zid> I'm not sure I can paste a tortilla
bliminse has quit [Quit: leaving]
<bslsk05> ​pastebin.com: SMM: enterEAX=00000001 EBX=00000000 ECX=02000000 EDX=02000628ESI=0000000b ED - Pastebin.com
<mykernel> Servicing hardware INT=0x08
<heat> bad instruction
<heat> check_exception old: 0xffffffff new 0x6
<heat> what's at 0x1011b4?
<zid> fuck this site is bad holy shit
<zid> objdump -d your kernel and find 1011b4, or use your symbol map you definitely told your linker to make
<mykernel> 1011b4: 66 0f 6f 05 64 0e 00 movdqa 0xe64(%rip),%xmm0 # 102020 <gdt64_pointer+0x10>
<zid> you compiled your kernel with avx and never set it up
<j`ey> SMD?
<j`ey> yeah
<j`ey> *SIMD
<zid> -mgeneral-regs-only
<zid> recompile all your .o files with that
<heat> if your compiler is new enough
<heat> if not, glhf
<mykernel> now it works
<zid> That'll be $80
<mykernel> how tf it occures only when i write 2 pixels one after other lol
<mykernel> lol i just finished hs in third world's country
<j`ey> because with the delay, it wont use SIMD
<zid> I never finished highschool :p
<mykernel> can you link me somewhere to read about it
<zid> about what? it's just whether it can do it or not
<j`ey> zid: did you finish nursery?
<heat> obv not
bliminse has joined #osdev
<zid> if can't use a 64bit/128bit/256bit/etc write/read if there isn't that much data
<zid> so as you started to copy more pixels at once, it started being something that was reasonable for it to generate
<heat> remember when we explained to that troll how hexadecimal works and zid kept bringing up the abacus? nursery.
<zid> because you used a compiler that defaulted to using simd, so you effectively told it to do that when possible
<mykernel> aaah its probably because i used -O3 so it optimized it for SIMD
<zid> heat: i cannot infact, use an abacus
<zid> is that how one works, you just use it for place value?
SGautam has quit [Quit: Connection closed for inactivity]
friedy10- has joined #osdev
pretty_dumm_guy has joined #osdev
mykernel has quit [Quit: leaving]
gog has quit [Quit: byee]
bauen1 has joined #osdev
SpikeHeron has joined #osdev
<catern> https://lwn.net/Articles/902585/ good demonstration of why you need multiple privilege levels in your instruction set, not just one userspace/kernel privilege level. and how VM extensions for that are an insufficient hack
<bslsk05> ​lwn.net: Subscription required [LWN.net]
<heat> subscriber-only
<bslsk05> ​lwn.net: Direct host system calls from KVM [LWN.net]
scaleww has quit [Read error: Connection reset by peer]
gog has joined #osdev
wootehfoot has joined #osdev
wootehfoot has quit [Ping timeout: 268 seconds]
dude12312414 has joined #osdev
<jjuran> "The function to go to the virtual-machine side is called, perhaps inevitably, bluepill()." <— "Inevitably" indeed :-)
wootehfoot has joined #osdev
bauen1 has quit [Ping timeout: 268 seconds]
<zid> my bios is apparently compiled using extensive use of MMX for some reason
<clever> the pi's boot rom is also using vector opcodes, just to setup cache-as-ram
<clever> nice
<heat> zid, efi firmware uses mmx to keep some data in the reset vector
SGautam has joined #osdev
<zid> It's just using them as gprs
<heat> mainly the BIST status
<clever> ghidra also has types for things like openssl functions and guid, i might find pci if i looked
<heat> oh really?
<heat> gprs?
<heat> i want the sauce
<zid> it's just covered in mm*
<zid> Like it was march=pentiumpro'd or something
<heat> what's the context though?
<zid> not a clue just staring at reams of disassembly that doesn't have proper xrefs
<SGautam> How do I start contributing to Linux?
<zid> and I think some of this code is 16bit and some 32bit whch is annoying
<SGautam> The codebase just seems massive...
<heat> file mr zid?
<zid> SGautam: change a file, check MAINTAINERS for who to email it to, cc lkml
<SGautam> There ought to be some kind of resource to help navigate thorugh that.
<heat> or mrs. zid of course
<zid> just email the maintainer without ccing any public lists if you get stuck, as long as you're not just wasting their time asking them to teach you C or whatever
bauen1 has joined #osdev
<zid> first opcode: fninit, second one, movd mm0, eax
<heat> that's the reset vector
<heat> you have the sec core
<zid> SEC CORE
<zid> (what?)
<heat> what what
<zid> what's a sec core
<heat> SEC = security phase
<heat> it includes the reset vector, some very very basic initialization and a way to jump to and load the PEI core
<heat> which is another phase
<heat> fninit; movd mm0, eax is saving the BIST code into mm0
<heat> then it will push it into the stack, probably
pretty_dumm_guy has quit [Ping timeout: 240 seconds]
<zid> No idea what a pei core is, a security phase, or a bist is
<zid> I don't care about efi
<zid> I was just poking around
<heat> PEI = pre-efi initialization, security phase I just explained you what it is
<heat> BIST = built in self test
<heat> the CPU does it before dropping you at the reset vector, and drops the result of the BIST in eax
<zid> what do we think the mcrypt 2.2 encrypted data, algorithm: blowfish-448, mode: CBC, keymode: 8bit files are?
<heat> fuck do I know
<heat> microcode?
<zid> nah I see the microcode
<zid> it even tells you the rev
<heat> can you give me thine imagine
<heat> image*
pretty_dumm_guy has joined #osdev
<heat> I wanna uefitool it
<zid> if discord lets me
<zid> good, I was worried 64mbit was too big
<heat> zid, what's the magic file of that mcrypt stuff?
<heat> magic bytes*
<heat> fuck I can't type today
<heat> or an offset, etc
<heat> I can't see any of that encrypted shit
<zid> 006D0200
<zid> .m..
<zid> I think maybe binwalk is wrong
<heat> yes
<heat> that's a normal PE image
<zid> how is that a normal PE
<zid> it doesn't start PE or MZ or anything
<zid> It *is* in the middle of a bunch of PEs though
<zid> oh that's just what `file` gives for it, it seems
<heat> starts at 6C1EF4h
<zid> One PE ends, it runs `file` on the next bytes
<zid> yea that's found and is something else entirely
<zid> this is at 7A9573, like 40 items later
<zid> after the microcode and a bunch more PEs
<heat> 7A9573 is also in a PE image
<zid> which brings us back to: how? It starts 00 6D 02 00, not MZ/PE/etc
<heat> binwalk is busted»
<heat> ?
<heat> or file or whatever
<zid> I didn't use file to determine that 0x7A9573 is a 00 though
<zid> I'm guessing it's just supposed to be attached to the PE at 7A4A2C
<zid> and it got the length wrong
<zid> what's an UEFI PI Firmware Volume though
<heat> yes that seems like it's attached to a PEI file or so
<heat> erm, PE
<heat> it's a firmware volume
<zid> you're very helpful you know that
<heat> UEFI is very structured
<heat> they have a bunch of volumes, a partition table as well
<zid> it's a FAT32 filesystem image? A full GPT volume?
<zid> a custom format by ms?
<heat> it's a proprietary PI Firmware Volume format
<heat> "proprietary" meaning tianocore
<heat> I don't think its standardized
<zid> I assume tools exist to mess with it, but that I won't have any of them
<heat> I do
<heat> uefitool
<zid> I am not you though
<heat> also there a bunch of shit in EDK2
<heat> this is not secret sauce
<zid> I didn't say it was
<zid> Infact, I trusted you'd actually know what it was
<zid> which is why I asked you
<heat> thanks
<heat> i'm very trustworthy
<zid> I am now 100% trusting you to give unhelpful answers
<zid> like an answer robot
<bslsk05> ​gist.github.com: gist:80b5fbe192001d9c5dd4dddb26d876ce · GitHub
<heat> here's your shit
<heat> i literally told you everything there is to the firmware volumes
<zid> I remember those fovd/mdes/etc strings, they reminded me of acpi
<zid> [19:26] <heat> it's a firmware volume
<heat> <heat> it's a proprietary PI Firmware Volume format
<heat> <heat> "proprietary" meaning tianocore
<heat> <heat> I don't think its standardized
<zid> which I had to ask 3 more questions to get
<zid> except we're conveniently ignoring that bit? :p
<heat> my answers are given pieacemeal
<zid> even more microcode :o
<zid> so we have several sets of microcode just in the base image, more in all the PI volumes
<zid> it's a wonder anything finds anything
<heat> you have an EFI bytecode interpreter in your firmware image
<heat> ahahahaha
<zid> is that good or bad
<heat> it's great
<heat> Vintage
<zid> well it is a vintage image
<zid> it's not even the newest bios by like 5 years
<zid> and it's for a 2009 chipset or whatever
<heat> FsIso9660 <-- native ISO9660 support
<zid> just in case I need to load a bios update off a cd-rom
<zid> but don't all bioses at least have rudimentary iso9960 support in order to boot them
<zid> afaik the first 32kB is 0s on a cdrom
<zid> they don't bios boot
<heat> no they don't
<heat> unless they have built in eltorito but idk how that works
<zid> mighjt just literally be if(cdrom) ptr += 32k
<zid> :P
<bslsk05> ​gist.github.com: gist:4bbe486a4bd8892e5013a8ee9dfbf7a4 · GitHub
<heat> here's a more modern MinPlatform platform
<heat> for QEMU
<zid> Actually it doesn't have a bootable fs on it seemingly anywhere, so you do need at least some red bookishness to boot it
<heat> it's way simpler
<zid> checking a random cd
<zid> ah yes but they don't have ezflash
<zid> or qfan
<heat> or GamingEC_Core_PEI
<zid> The damn thing has mouse support too which I still think is super weird, even now
lkurusa has joined #osdev
<heat> lol
<heat> mine also supports it but it's horrible
<heat> also ASUS btw
<heat> it feels like my mouse is skating in butter
<zid> probably shitty framerate
<zid> cus efi
<heat> also I need to use the touchpad because it's super broken with my steelseries mouse
<zid> probably too high dpi cus GAMER
<heat> no, 800dpi
<heat> because COUNTERSTRIKE GAMER
<zid> really 800dpi, or profile you load
<zid> that happens when the driver inits when the windows logo appears
<heat> no profile loading
<zid> I've had moose and keyboards like that
<heat> steelseries engine can do that, but it gets saved in internal mouse flash
<heat> so boot in windows -> change color of LED -> boot to Linux -> still there
<zid> mine is fucky and has internal profiles
lkurusa has quit [Client Quit]
<zid> but it won't use it unless told to by the software
<zid> just means I can change PC to one that also has the software, and it will also be red there
<zid> it just has nvram contaning an .ini or whatever, but nothing on the mouse actually uses it for anything
<heat> cursed
<zid> My keyboard remembers, thankfully
<zid> the settings it has are just shit :P
<zid> as long as it remembers to keep its lights off though I am willing to ignore the fact that enabling 10-key mode disables the windows key
<heat> wdym you disable your GAMER LEDS
<zid> I'd pry them out with pliers if it didn't remember
<heat> but theyre useful for GAMING
<zid> the fuck do I want a nyancat rave burning into my eyeballs 24/7 for
<heat> GAMING GAMER GAMER GAMING DRAGON GAMING READY MOTHERBOARD OPTIMIZED FOR GAMES
<heat> oops, leaked the new MSI motherboard's name
<zid> it took me months to even find a keyboard this good
<zid> My requirements were: selectable 5 and "more" key rollover, no lights (or lights that can be disabled and it remembers), full, iso
<heat> for peripherals I use steelseries everything
<heat> the danish are really good at making this shit
<zid> this has *some* ghosting, and the windows key issue, and the paint is rubbing off immediately
<zid> (because they had to paint the keys instead of using black plastic, to make the letters light up)
<zid> but other than that it works
<heat> this is my mouse
<heat> it's a fucking nightclub
<zid> you poor bastard
<zid> I am also a poor bastard.
<heat> I could only afford half a mouse
<heat> that's why it has holes
<heat> boooorinngggggg
<zid> I actually have the lights on, but dimmest setting, no breathing/fading/cycling
<zid> set to.. purple
<gog> porple
<heat> seriously though I thought the holes and the lightness of it was going to bother me
<heat> but not at all
<zid> just so I can find it easier
<zid> I tend to lose it
<heat> I had the original Steelseries Rival which was heavy as fuck
<zid> it's also got the same problem every modern mouse has
<zid> It converts 5V to 3.3V to run the arm cortex
<zid> and uses the arm cortex's gpios for the switches
<heat> cry
<zid> 3.3V is *wildly* outside the rated voltage for an omron
<heat> why you no like arm
<zid> so after 3-4 days they start to bounce
<heat> arm best cpu everrrrrrr
<heat> i want a xeon on my next mouse
<zid> I want a mouse with a fucking 20V boost stage and a shotkey diode
<heat> will take nothing less
<zid> so the switches are in-spec
<zid> and I get my 30M gold contacts rated clicks
<zid> instead of them "lol it's got 10M gold omrons, but we're running them at 1/6th the required voltage for that spec to count"
<gog> where can I get a mouse with itanium
<heat> oh fuck oh shit
<heat> i need that
<gog> itanimouse
<zid> I'm going to make properly debounced hardware switches one day
* gog chases mouse
<heat> I want a mouse with UEFI firmware
<gog> yes
<heat> ACPI too
<gog> i want a mouse you can rootkit
<heat> the most overengineered shit ever
<zid> I'm going to use an 80MHz crystal and a counter with edge detection hooked to it <3
<heat> linux too
<zid> if you want overengineered, don't forget my switches
<heat> systemd, glibc
<heat> I love it already
<gog> yes
<gog> the mouse will run netbsd
<heat> NO
<gog> oh wait you said lonix
<heat> who the fuck runs netbsd
<zid> mice
<heat> lie
<gog> why do you want to install lenix on it
<zid> I've dissected a few
<heat> they do not have networking
<zid> they were always full of guts and netbsd
<heat> so why netbsd
<zid> the netbsd was mainly concentrated in the bowel region
<heat> gog, why not
<gog> why won't they habe networking
<heat> they usually don't
<heat> i'm open to ideas but
<zid> wifi mouse
<gog> wifi mouse
<heat> hahahahhahahahahaha
<heat> hahaha
<heat> haha
<heat> hahahahaha
<heat> wtf
<heat> come on man
<heat> wireless mouse?
<heat> really?
<zid> no, wifi mouse
<zid> the mouse still has a wire
<gog> yes
<gog> but it networks with wifi
<zid> But it's also a wireless access point so you can change your mouse colour
<heat> interesting
<gog> yes
<heat> I'm starting to enjoy your idea
<zid> this is so obvious heat
<heat> sorry my bad
<gog> now you understand
<heat> we need xml
<heat> somewhere
<zid> You know how keyboards are all usb hubs these days?
<gog> extensible mouse language
<zid> The mouse will just be a hub too
<gog> it'll be more cephalopod than rodent
<zid> use the cable as an antenna omg
<heat> how about a
<heat> erm
<heat> PCIe mouse
<zid> my mouse is already connected via pcie though
<gog> that's ridiculous shut up
<heat> it's a good idea
<heat> high speed connectivity
<zid> I'm going to make an esata mouse
<heat> possibilies are endless
<zid> you read C:/x and C:/y
<zid> and C:/buttons/left
<heat> welcome to mousecom, everything is possible
<heat> aw shit
<heat> mouse events as a file
<heat> true UNIX
Terlisimo has quit [Quit: Connection reset by beer]
gildasio has quit [Quit: WeeChat 3.6]
<poyking16> make
<poyking16> wrong terminal
<zid> rm -rf *
<heat> ninja
<heat> welcome to osdev
<heat> the only limit is yourself
<zid> and pirating pci specs
<heat> i would never
<heat> yes i wrote a PCI driver
<heat> never looked though, I promise
Terlisimo has joined #osdev
<poyking16> on x86_64 how would you allocate the paging structures without using paging
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
<zid> do it before turning it on is one way
<heat> you need to have everything you need to map things, mapped
<zid> set your page tables up such that they are modifiable once they're being used
<zid> ghetto: reserve 5 pages so that you can build a pdpt/pd/pt to point to any address. tired: recursive mapping trick wired: map all of physical memory at all times
<heat> recursive mapping is bad
<zid> recursive mapping is great
<heat> two invlpg instead of one
<zid> why would you invlpg anything at all ever
<heat> to invalidate them pg
<zid> yea still not following
poyking16 has quit [Quit: WeeChat 3.6]
Ram-Z has quit [Ping timeout: 252 seconds]
Ram-Z has joined #osdev
Ram-Z has quit [Ping timeout: 240 seconds]
lkurusa has joined #osdev
sikkiladho has joined #osdev
<sikkiladho> good evening
lkurusa has quit [Client Quit]
<zid> please insert question
<sikkiladho> maybe i just want to rant about careers in osdev :P
<sikkiladho> would love to know to everyone's journey into osdev.
<zid> what careers
<zid> This is an asylum
<zid> look, we even have heat
<sikkiladho> hahaha
wxwisiasdf has joined #osdev
<sikkiladho> I'm in process of swtiching into osdev/kernel/lowlevel
<zid> oh no, are you a webdev?
<wxwisiasdf> webOS
<sikkiladho> no just a recent graduate who got a .Net dev job
<gog> i hate myself so i started learning about os development
<mats1> relatable
<zid> at least .net has types and stuff
<sikkiladho> but I like osdev
<zid> so you're half way to knowing C
<wxwisiasdf> .NET OS
<sikkiladho> so there's company which pays like 40% of my current salary but they have driver dev job for me
<sikkiladho> there's actually a .net OS, I think it's called cosmos
<wxwisiasdf> Yep
<wxwisiasdf> It's C# through, not .NET iir
<sikkiladho> yeah right
<sikkiladho> so I'm confused if I should switch to the linuc driver dev job or continue .Net dev
<zid> .net will pay more
<zid> and you won't have to deal with linux
<zid> you will have to deal with windows though
<wxwisiasdf> imagine dealing with dmesg (impossible)
<gog> lol
<sikkiladho> current company is good, allows work from home, dollar-pegged salary which is actually 'cause my country's economy sucks
<gog> yeh stay there
<mats1> portugal?
<sikkiladho> same first letter
<sikkiladho> pakistan
<gog> my next job is webdev with react and .net
<wxwisiasdf> Oh, nice Pakistan
<sikkiladho> I believe osdev jobs are more lucrative than application development but it's just not true for my country
<zid> It's not true anywhere, because there's only like 20 osdev jobs that pay that
<sbalmos> Calling Cosmos an OS is a stretch
<zid> so you might as well bank on winning the lottery as a gameplan
<wxwisiasdf> unless you go to Redmond and say "hey, hire me fuckers, let's make windows 12"
<sikkiladho> sbalmos: singularity?
<sbalmos> sikkiladho: getting much warmer then
<wxwisiasdf> It's interesting to see commercial OSdev through
<wxwisiasdf> But practically OSes nowadays are free
<wxwisiasdf> Even damn Windows 11 is free, or comes "free" preinstalled
<sbalmos> The computer has become a commodity appliance to the point that users don't want to, or are unable to, think of the OS as a separate for-pay package
<wxwisiasdf> do you want to pay for netscape m8
<wxwisiasdf> time to pay 9.99$ for chromium =)
skipwich has quit [Quit: DISCONNECT]
skipwich has joined #osdev
<sikkiladho> zid: nah, I got interviews into apple/amazon because of my very simple hypervisor project. So osdev/low-level market is indeed hot
<wxwisiasdf> sbalmos: True but you can't modify it
<wxwisiasdf> because DRM and stuff, and free software and blah blah
<wxwisiasdf> sikkiladho: sus
ZipCPU has quit [Ping timeout: 244 seconds]
<sikkiladho> but they were just interview couldn't get an offer.
<sikkiladho> so that's what one of the motivations to switch
<sikkiladho> other is that I like to do it.
<sikkiladho> and I hate using windows and visual studio
<sikkiladho> for .Net
ZipCPU has joined #osdev
GeDaMo has quit [Quit: A program is just a lot of functions in a trenchcoat.]
<sikkiladho> anyone here doing application programming but doing osdev for hobby?
<sbalmos> probably most of us?
<zid> there's a few proper osdev people
<zid> but most of us are random tech workers
<zid> I'm a professional vagabond though
<mjg> i said, i'm gonna say it again: it is not hard to find kenrel work, but it is not necessarily the kind of work you want
<mjg> osdev is most definitely not lucrative though
<mjg> Business cares about Selling Product/Services, an os is just a necessary evil
SGautam has quit [Quit: Connection closed for inactivity]
<zid> The "kernel work" near me is random 'you must have the 802.11 stack code memorized because we're adding wifi to a medical device' jobs
<zid> which sounds like hell
<sikkiladho> job that I'm considering to switch has also network device driver's work
<sikkiladho> for SmartNiC
<zid> Is that like KillerNIC
<sbalmos> sounds more like DumbNIC
<mjg> zid: huh, i would defo stay way
<gorgonical> I do osdev for my phd
<zid> sounds like hell like I said
<mjg> gorgonical: what's your thesis
<mjg> don't tell me reimpementing something in rust
<gorgonical> absolutely not
<zid> Reimplementing rust
<zid> in C
<gorgonical> in c
<gorgonical> lol
[_] has joined #osdev
<sikkiladho> they call it smartNIC, not sure what smart in it
<mjg> delegation of all the hard work from firmware to the driver
<gorgonical> Anyway I'm working on experimental OS design for non x86 systems with a focus on security/trust and hpc
<zid> Prior to this version, Pale Moon would apply Content Security Policies (CSPs) to all requests made to servers that would respond with a policy header, as one would expect for strict use of CSPs as-intended. Unfortunately, Chrome has been less strict in applying these policies and
<sikkiladho> and I have only worked on arm hypervisor as hobby, don't if I'll like working nic drivers
<gorgonical> Right now I'm working on risc-v because of the open isa and ability to just verilog stuff into existence and try it out
<zid> nice to see browser development is purely "let's figure out precisely which way chrome breaks everything" still ;)
<mjg> gorgonical: have you heard about CHERI?
<gorgonical> yes
<mjg> thought?
<gorgonical> That's something I'm very interested in trying out. I know cheribsd exists but the risc-v impl is on its way still
<gorgonical> I find it really interesting. I haven't fully thought about the implications of hardware capabilities but I'm trying to figure out how to partition a system into trust domains with it, kind of like a hypervisor does today
[itchyjunk] has quit [Ping timeout: 240 seconds]
<gorgonical> In some ways a traditional "domain" approach with hypervisors is just assigning capabilities to guests and enforcing it with trap-and-check semantics, which sounds a lot like what CHERI offers built-in
<gorgonical> mjg what do you think about CHERI?
<mjg> i barely looked at it so far
<gorgonical> Some people shy away from risc-v because it isn't very performant yet, e.g. the unmatched doesn't even have an l2 prefetcher so it's super slow. But I think it's sort of an orthogonal problem. CHERI doesn't have to be fast to be useful or interesting to me
wxwisiasdf has quit [Quit: Lost terminal]
<zid> 'yet' is carrying a lot there
<zid> It's an awful arch to try make fast
ThinkT510 has quit [Quit: WeeChat 3.6]
<gorgonical> I think there's a good deal of value in being able to try something, show that it's useful, and then take *that* to vendors, perhaps ARM, and tell them to try it
h4zel has joined #osdev
<gorgonical> Where we are now is that unless you can convince ARM/a vendor to do it you don't get it
ThinkT510 has joined #osdev
gildasio has joined #osdev
h4zel has quit [Ping timeout: 268 seconds]
h4zel has joined #osdev
frkazoid333 has quit [Ping timeout: 255 seconds]
jstoker has quit [Ping timeout: 260 seconds]
aejsmith has quit [Ping timeout: 244 seconds]
DrPatater has quit [Ping timeout: 240 seconds]
dayimproper has quit [Ping timeout: 268 seconds]
<zid> You know what is a vastly underserved market? Operating systems designed to be used in workgroups.
<zid> Those guys are still stuck on windows 3.11
<mjg> :))
<mjg> i heard of an airport still using it in 2010
<mjg> curious what's going on there now
<zid> Although the tongue in cheek tagline for linux 3.11 was for workgroups
<zid> so maybe a few people upgraded to that
<mjg> you may appreciate that for freebsd 9.2 there was an easter egg where the loader had 'nakatomi' logo
<mjg> from die hard
<zid> (the ultimate christmas movie)
gildasio has quit [Remote host closed the connection]
<mjg> next to home alone
gildasio has joined #osdev
<mjg> they tried to NOT air on christmas but people started protesting
<mjg> in poland anyway
duckworld has quit [*.net *.split]
Affliction has quit [*.net *.split]
duckworld has joined #osdev
Affliction has joined #osdev
h4zel has quit [Ping timeout: 240 seconds]
rwb has quit [Quit: ZNC - https://znc.in]
socksonme_ has quit [Ping timeout: 268 seconds]
<heat> >'cause my country's economy sucks
<heat> >portugal?
<heat> why am I catching strays like this
bauen1 has quit [Ping timeout: 240 seconds]
<mats1> its your responsibility as a daddy
<heat> how bout
<heat> no
bauen1 has joined #osdev
[_] is now known as [itchyjunk]
gruetze_ is now known as gruetzkopf
wereii has quit [Ping timeout: 255 seconds]
wereii_ has joined #osdev
Patater has joined #osdev
dayimproper has joined #osdev
\Test_User has quit [Quit: \Test_User]
aejsmith has joined #osdev
jstoker has joined #osdev
DrPatater has joined #osdev
Patater has quit [Ping timeout: 252 seconds]
<heat> >it is not hard to find kenrel work, but it is not necessarily the kind of work you want
<heat> meh, depends on who you work for
<heat> and on what
<zid> ???
<zid> heat how does that make *any* sense
<heat> how does that not make any sense
<zid> "you might not find work on what you want easily" "depends who you work for"
<heat> hrm
<heat> I didn't read it like tha
<heat> t
<heat> well, if that's the correct interpretation, then yeah, 100% agree
<heat> but that goes for most jobs
gildasio has quit [Remote host closed the connection]
<zid> and prostitutes
<heat> pimpin aint easy
<mats1> yes daddy
gildasio has joined #osdev
<heat> this is not a fucking question
\Test_User has joined #osdev
<heat> it most definitely isn't easy
<zid> yes it is
<heat> no it's not
<heat> the paperwork is hell
<zid> I refer you back to exhibit A
<heat> exhibit A is not an example of pimpin
<heat> therefore, it is indeed not easy
<zid> That doesn't prove it isn't easy, just that I failed to prove that it was
eck has quit [Quit: PIRCH98:WIN 95/98/WIN NT:1.0 (build 1.0.1.1190)]
SpikeHeron has quit [Quit: WeeChat 3.6]
frkzoid has joined #osdev
<heat> you know what also isn't easy
<heat> applying to a job at canonical
<heat> they make you write up a whole essay of answers to their questions because they're 2busy2talk2u
<heat> 0/10 shit experience
eck has joined #osdev
wootehfoot has quit [Read error: Connection reset by peer]
riverdc has joined #osdev
heat has quit [Ping timeout: 240 seconds]