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
antranigv has quit [Quit: ZNC 1.8.2 - https://znc.in]
antranigv has joined #osdev
catern has joined #osdev
ZombieChicken has quit [Ping timeout: 255 seconds]
vdamewood has quit [Remote host closed the connection]
vdamewood has joined #osdev
c2a1 has joined #osdev
TkTech has quit [Ping timeout: 272 seconds]
ptrc has quit [Remote host closed the connection]
ptrc has joined #osdev
TkTech has joined #osdev
terminalpusher has quit [Ping timeout: 260 seconds]
epony has quit [Ping timeout: 268 seconds]
gog has quit [Quit: byee]
epony has joined #osdev
smach has quit [Ping timeout: 268 seconds]
glenda64 has joined #osdev
glenda64 has quit [Client Quit]
glenda64 has joined #osdev
wootehfoot has quit [Read error: Connection reset by peer]
<glenda64> Does anybody know of a (preemptive, not RTOS) OS that can run with very little RAM/ROM and is usable over a serial console?
<glenda64> "Very little" meaning 128K of RAM and 8M of ROM
<heat> probably geist's littlekernel
Ram-Z has quit [Ping timeout: 252 seconds]
<geist> Yeah that should be useful. Depends on what you want to do with it
<glenda64> It's an emulator project. That is a good suggestion, thank you
Ram-Z has joined #osdev
<heat> geist, btw quick question: what am I supposed to do wrt IO ranges when configuring the bus on platforms where I have no IO ports?
<heat> my test device is a virtio-net-pci (I know I know, there are mmio variants for these devices)
<heat> context: PCIe bus configuration
<heat> are these just permanently unusable?
[itchyjunk] has joined #osdev
<geist> Yeah I think so
<geist> Or.. actually they’re emulated by a device-specific mechanism
<geist> In the case of qemu-virt for arm (and i think riscv) the id ports end up mapped in a 64k mmio region
<geist> But that’s outside the PCI’s configuration knowledge, it just carves up IO as anything else, and it’s up to the individual drivers to know that if it had an IO bar it needs to use the mmio window instead of an instruction
<heat> hrm, is that one of those device tree range things?
<geist> Yah possibly
<geist> I just hard coded it per platform in LK, but it worked iirc
<heat> I see
<heat> that's a fun hack isn't it
ZombieChicken has joined #osdev
Burgundy has quit [Ping timeout: 272 seconds]
vdamewood has quit [Read error: Connection reset by peer]
vdamewood has joined #osdev
lockna has quit [Ping timeout: 265 seconds]
<ornx> is there an easy way to get ovmf to automatically boot FS0:\EFI\BOOTX64.EFI without prompting me? (in qemu)
<heat> you need to supply OVMF_VARS too
<heat> instead of doing -bios OVMF.fd, you do -device if=pflash,format=raw,unit=0,file=OVMF_CODE.fd -device if=pflash,format=raw,unit=1,OVMF_VARS.fd
<ornx> that's what i have, but it still drops me to the shell
<ornx> is there a variable i can set via setvar?
<heat> thats odd
<heat> what's FS0 on?
<zid> cocaine, sometimes a little speed
<heat> wait, of course
<heat> it should be at \EFI\BOOT\BOOTX64.EFI
<zid> maybe that's why he wants the override :P
<ornx> raw image, created like this https://pastebin.com/vjL70z77
<bslsk05> ​pastebin.com: # build targetsboot.elf: kernel.c boot.Si686-elf-gcc -m32 -I. -nostartfil - Pastebin.com
<ornx> ahhhh
<ornx> i'll try that path, although ironically i got the path i currently have from my host system lol
vdamewood has quit [Remote host closed the connection]
<ornx> that did it
<ornx> tyvm
vdamewood has joined #osdev
<heat> np
<zid> heat tell me how to change it though
<heat> zid, you need to add a boot order var to your efi vars
<zid> I mean that's what I figured, but how
<heat> in lunix or efi?
<zid> isn't it the same? I set a var
<zid> with certain name and semantics
<zid> secret name and secret semantics
<clever> under linux, run `efibootmgr -v` and read its man page
<clever> BootOrder is the primary var
<clever> there are multiple entries, that describe each os you can boot, and then BootOrder sets the order it tries each in
<heat> I don't think you can easily, trivially create a boot order entry manually
<clever> -c | --create create new variable bootnum and add to bootorder
<clever> what does this do then?
<heat> that's not manually
<heat> i mean creating a variable by hand
<clever> ah yeah, ive not looked at how these are encoded internally
<zid> oh no, ucs2
<zid> I give up
TkTech has quit [Read error: Connection reset by peer]
<ornx> why is EFI full of windows-isms? the FOO:\ convention, the PE executable format, and... utf-16?
<zid> I wonder.
<zid> Might be because microsoft was on the board?
<heat> EFI was joint-developed by microsoft
<heat> by actual NT people
<heat> hence UCS2, PE, Wintel coding style, GUIDs everywhere, shitty object-oriented programming
<heat> \
TkTech has joined #osdev
<moon-child> oh it's ucs2? That's even worse
<moon-child> I thought it was utf16
<heat> how would that be better????
<heat> BootOrder𓂺
<corecode> is that a penis unicode character?
xenos1984 has quit [Read error: Connection reset by peer]
<heat> yes
<corecode> how
<heat> yes
terrorjack has quit [Quit: The Lounge - https://thelounge.chat]
<corecode> yey hieroglyphs
terrorjack has joined #osdev
<zid> isn't the only difference between usc2 and utf16 what you do with surrogate pairs
<heat> no
<heat> ucs-2 is fixed width for instance
<zid> I don't care for the concept of either so I couldn't comment which is better/worse
<zid> ucs-2 is fixed width because of surrogate pairs
<zid> "these two 16bit chars are one codepoint"
<heat> ok yes
xenos1984 has joined #osdev
alexander has quit [Quit: ZNC 1.8.2+deb2+b1 - https://znc.in]
alexander has joined #osdev
elastic_dog has quit [Ping timeout: 252 seconds]
elastic_dog has joined #osdev
[itchyjunk] has quit [Remote host closed the connection]
glenda64 has quit [Read error: Connection reset by peer]
glenda64 has joined #osdev
invalidopcode has quit [Remote host closed the connection]
invalidopcode has joined #osdev
irusya is now known as Irunya
vdamewood has quit [Read error: Connection reset by peer]
vdamewood has joined #osdev
heat has quit [Ping timeout: 260 seconds]
Left_Turn has joined #osdev
Turn_Left has quit [Ping timeout: 265 seconds]
bgs has joined #osdev
bgs has quit [Remote host closed the connection]
_HIA has joined #osdev
_HIA has quit [Quit: joins libera]
danilogondolfo has joined #osdev
Turn_Left has joined #osdev
vdamewood has quit [Read error: Connection reset by peer]
unimplemented has joined #osdev
Left_Turn has quit [Ping timeout: 260 seconds]
vdamewood has joined #osdev
Matt|home has quit [Ping timeout: 260 seconds]
pog has joined #osdev
Irunya is now known as erunaja
k0valski18891 has quit [Ping timeout: 265 seconds]
erunaja is now known as Freja
nyah has joined #osdev
vdamewood has quit [Read error: Connection reset by peer]
vdamewood has joined #osdev
<bslsk05> ​git.sr.ht: ~sircmpwn/helios: boot/+aarch64/el.ha - sourcehut git
eroux has quit [Ping timeout: 260 seconds]
vdamewood has quit [Remote host closed the connection]
vdamewood has joined #osdev
eroux has joined #osdev
ZombieChicken has quit [Remote host closed the connection]
unimplemented has quit [Read error: Connection reset by peer]
kof123 has quit [Ping timeout: 268 seconds]
elastic_dog is now known as Guest2903
Guest2903 has quit [Killed (mercury.libera.chat (Nickname regained by services))]
elastic_dog has joined #osdev
GeDaMo has joined #osdev
<kaichiuchi> hi
<Ermine> Hi
<bxh7> hi
eroux has quit [Ping timeout: 272 seconds]
<moon-child> hi
bxh7 has quit [Quit: ZNC 1.8.2 - https://znc.in]
<pog> prr
<Ermine> pog: may I pet you
<pog> yes
* Ermine pets gog
eroux has joined #osdev
bxh7 has joined #osdev
epony has quit [Ping timeout: 268 seconds]
* vdamewood gives pog a fishy
wootehfoot has joined #osdev
* pog snif fishy
* pog chomp fishy
Burgundy has joined #osdev
Left_Turn has joined #osdev
Turn_Left has quit [Ping timeout: 265 seconds]
<Ermine> Our cat doesn't prr when it gets petted by me :(
MiningMarsh has quit [Quit: ZNC 1.8.2 - https://znc.in]
<pog> aw
<FireFly> aww
<Freja> Ermine: _oof_
<kaichiuchi> i’m bored
<pog> i'm working
<pog> i shouldn't be bored but this project drags on when i thought i was done
<pog> and it's friday afternoon and i'm drowsy
<Freja> i was working but now im waiting for a bugfix PR which blocks the main tihng im working on
<Freja> and also it's fridya
<FireFly> yesterday was effectively friday for me
<pog> psure my boss is off drinking he said he was takinga  long lunch and it's a holiday in spain today
<FireFly> yay living in the religious part of this country :p
<FireFly> (it's epiphany or something, public holiday anyway)
<pog> yes
<Freja> i thought its the $n kings day or some shit
<FireFly> oh idk, maybe
<Freja> idk im not religious
<FireFly> same
<FireFly> all I know is I get a random day in the first week of the year off
<Freja> unless you count paganism as a religion
<FireFly> and I'm not complaining
<FireFly> Freja: belated happy winter solstice :p
<Freja> FireFly: is it a holiday in bayern
<FireFly> ye
<Freja> lucky
<Freja> im working
<FireFly> lucky, but also made it "fun" yesterday due to the CircleCI troubles
<Freja> but tbh i prefer to live in a good secular (ok sorta protestantish) northern germany
<FireFly> also
<FireFly> Freja: hey it's your day
<FireFly> (friday)
<Freja> yeah that's why i /nicked like this
<Freja> :D
<FireFly> aha
<Freja> :3
<Freja> happy my day
<FireFly> tomorrow it's time for /nick Saturnus? :p
<FireFly> well if going by english day names
<Freja> if i was goin by english i should technically be Frigg rn
<FireFly> oh fair
<Freja> fredag is derived from Freyja
<Freja> but friday comes from Frigg apparently
<FireFly> isn't it just different latinisation of the same name?
<FireFly> I'm not sure
<Freja> i thought it's a different AEsir but im not 100% sure honestly
<FireFly> wiktionary for sv:fredag says "From Old Norse frjádagr, from late Proto-West Germanic *Frījā dag (“day of Frigg”), a Germanic calque of the Latin dies Veneris (“friday”)." at least
<Freja> some sources appear to claim they're one and hte same
<FireFly> mm
* FireFly shrugs
<FireFly> either way :p
<bslsk05> ​www.reddit.com: Is Freya and Frigga the same god? : Norse
* Freja is enjoying how far away from OSdev topics we've veered
<FireFly> oops
<Freja> :D
<FireFly> open source deity development
<Freja> :3
<FireFly> oh I guess different? hm
<FireFly> I'd quote something from sv wikipedia, but, swedish
<FireFly> but apparetly there's a poem in the edda where freja is defending frigg, which uh
<FireFly> implies difference D:
<FireFly> D*
<FireFly> :D*
<Freja> mm okay
<FireFly> anyway I should stop veering further offtopic :p
<Freja> ok but first let me just quickly mention that i have a copy of gaiman's retelling of the norse myths
MiningMarsh has joined #osdev
vdamewood has quit [Read error: Connection reset by peer]
vdamewood has joined #osdev
<FireFly> neat
<FireFly> :o
<kaichiuchi> data structures are fun sometimes
<pog> what's your favorite data structure
<pog> i'm partial to binary trees
audaine has joined #osdev
<kaichiuchi> somehow i like hash tables
<kaichiuchi> partly because people get too hung up on big O and think O(1) and that’s the end of it
<kaichiuchi> hash tables are extremely useful until your implementation has the keys far apart
<kaichiuchi> and then your cache explodes
<kaichiuchi> i get really upset when people just look at big O and don’t think anything else of it
<pog> hash tables are cool
<pog> but yeah the expected complexity of an algorithm doesn't tell the whole story about whether it's the right one for the job
<pog> you can have small time complexity but as a consequence exponentially inflate the amount of memory you need
<kaichiuchi> the problem is people in mass numbers think that
<FireFly> my standard answer to that question is always xor-linked lists
<kaichiuchi> then get annoyed when i bring up caches or branch prediction or ‘x’
<kaichiuchi> “PREMATURE OPTIMIZATION!!!!!”
<FireFly> though more seriously I think any balanced binary trees implemented in a way that packs them in a flat array are cute
<Freja> the great SWAGGINZZZ used huge hash tables to break RNG on nethack.alt.org and ascend nethack 3.6.1 in 7 minutes and 17 seconds
<FireFly> (heaps, fenwick trees, etc)
<Freja> so I also love hash tables just for that
<FireFly> what's your least favourite data structures? :p
<bslsk05> ​algorithmica.org: Eytzinger Binary Search - Algorithmica
<FireFly> like, I feel like most have some elegance and beauty to them, so why not switch it around instead
<Freja> FireFly: arrays are pretty cursed
<Freja> just regular unordered arrays
<Freja> or nd ones
<FireFly> hmm
<FireFly> I dunno about that
<Freja> im kidding :P
<FireFly> :p
<FireFly> fair
<Freja> idk any bad data structures
<Freja> ok linked lists are kinda cursed
<pog> linked lists packed into an array where the link isn't a pointer but an index
<pog> i actually like those tho
<Freja> yea but do you like cursed things
<pog> yes
<Freja> i fucken knew it
<kaichiuchi> linked lists are pretty bad, yeah
<pog> i actually use that kind of linked list in my page frame allocator
<Freja> pog: cursed
<pog> well, ok, the array contains the elements for any number of lists
<FireFly> that kind of linked list is quite useful often tbh
<Freja> fair
<Freja> idk i don't do low level code anymore im a python girl now
<FireFly> but yeah classic linked lists like, (pointer to value, pointer to next) allocated all over are pretty bad
<pog> currently i have three for pages in low, conventional and >4GiB
<pog> but every element is in the array
<pog> and in order of address
<pog> so i can also look up pages real quick by address
<Freja> i just trust the runtime and gc and reassign any symbol i want at runtime because that's how we roll
<pog> i'm going to also use this technique for my thread table
<Freja> can I just put a Python runtime in a kernel so I can write an OS in Python
<pog> unununium
<FireFly> netbsd lets you write kernel code in lua, so why not
<Freja> :o
<pog> unununium was an attempt to make a kernel that was partially implemented in python
<Freja> huh
<FireFly> oh huh
<pog> or rather an experiment, not attempt
<Freja> did they at least attempt the experiment
<pog> yes
<Freja> ;o
sortie has quit [Ping timeout: 265 seconds]
kof123 has joined #osdev
pog has quit [Quit: Client closed]
<bslsk05> ​ers35/luakernel - Lua + SQLite + musl libc running on x86. (18 forks/248 stargazers/CC0-1.0)
sortie has joined #osdev
pog has joined #osdev
bgs has joined #osdev
vdamewood has quit [Remote host closed the connection]
vdamewood has joined #osdev
pog has quit [Quit: Client closed]
<kaichiuchi> guys perforce is fucking STUPID
pog has joined #osdev
<kaichiuchi> i can’t do anything like bisecting
<kaichiuchi> “it worked in this version but not in this one”, simple, git bisect
* pog bisects
<kaichiuchi> can’t do anything like that on perforce
* kaichiuchi cries
* pog meow   |          meow
glenda64 has quit [Ping timeout: 268 seconds]
epony has joined #osdev
<Freja> kaichiuchi: rip
<kaichiuchi> i can’t believe people actually buy this garbage
<Ermine> kaichiuchi: its apparently Enterprise(tm)
<kaichiuchi> the rest of the company uses git
<kaichiuchi> except our project
<kaichiuchi> :(
<Ermine> How so? :/
<kaichiuchi> before there was light, before there was god, there was perforce
<kaichiuchi> a horribly destructive amoral force that should’ve been killed by git
<kaichiuchi> yet, hardliners remain
<pog> i've never used it
<kaichiuchi> be grateful
<kaichiuchi> it’s a stupid centralized thing that could’ve only originated in california
<pog> oof
<pog> i used to use svn
<pog> and i was resistant to learning git because it seemed complicated
<pog> but now i'm git all the way
<kaichiuchi> centralized repositories are almost always the wrong choice
<pog> yeh
<pog> hell i taught my boss some git tricks recently
<pog> he uses gitkraken to do devops
<pog> he says he doesn't feel like a real programmer sometimes because he never uses the command line
<kaichiuchi> yeah my boss is a mechanical engineer by trade
<kaichiuchi> acknowledges that he doesn’t know jack shit about programming so he learns by us
<kaichiuchi> humble guy
<kaichiuchi> right now he’s learning cmake and hates it deeply
<kaichiuchi> he’s on the right track then
<Ermine> why tf he is a boss
<kaichiuchi> it’s complicated
<kaichiuchi> i’d have to say he’s pretty effective at management
<kaichiuchi> it’s a different type of style here
<Ermine> well
<kaichiuchi> the programming reviews go through seniors
pog has quit [Quit: Client closed]
gog has joined #osdev
vdamewood has quit [Read error: Connection reset by peer]
vdamewood has joined #osdev
xenos1984 has quit [Ping timeout: 255 seconds]
xenos1984 has joined #osdev
heat has joined #osdev
<heat> linked lists are great
<heat> very space efficient and simple
<heat> you can embed them into anything
* gog embeds a linked list into heat
<heat> struct heat { u32 bazinga; struct list_head node; };
<Ermine> This list is linked? Give me the link then
<kaichiuchi> heat: foot
<heat> foot
<gog> foot
<Ermine> feet
<heat> found the fetishist
<Ermine> Oh I though there's a local club
<kaichiuchi> said no one ever but macros aren’t the worst thing in the world
<kaichiuchi> they’re pretty fucking bad but gcc makes some of them okay
<heat> macros are great and cheap
<Ermine> akshually
<kaichiuchi> i hate the “side effects” bullshit people say particularly using min/max as an example
<heat> consider this: #define PHYS_TO_VIRT(phys) ((void *) ((unsigned long) (phys) + PHYS_BASE))
<kaichiuchi> if someone does max(i++, j)
<kaichiuchi> you should be smacked
<Ermine> don't do that
<kaichiuchi> heat: you could make that into a function
<heat> vs: template <typename Type> Type *phys_to_virt(unsigned long phys) { return (Type *) (phys + PHYS_BASE); }
<Ermine> POB
<heat> why would you?
<Ermine> POV you are writing c++
<heat> this is trivially inlineable
<kaichiuchi> oh I see
<kaichiuchi> I didn’t read the whole thing
<heat> (PHYS_BASE can be a global variable or a constant, doesn't matter too much)
<Ermine> Don't mix increments with anything else
<kaichiuchi> I try to be very very careful with macros
<heat> the template is pretty and great but you're just spending compile-time for free
<Ermine> I spent too many time at decoding a single line in skalibs recently!
<Ermine> while (len && i++)
<kaichiuchi> some macros are just plain awful and there’s no denying it though
<heat> you get virtually nothing for the template
<heat> Ermine, man, skalibs also has stupidly clever code?
<kaichiuchi> wtf us skalibs
<Ermine> heat: not as much as musl
<kaichiuchi> some skate park?
<Ermine> this line was replaced fortunately
<bslsk05> ​github.com: skalibs/siovec_trunc.c at ee2aeefa170b9806e719723f94ba933c90a9ae8b · skarnet/skalibs · GitHub
<heat> hard skip lmao
<bslsk05> ​skarnet.org: skalibs: a C library for system programming
<heat> yeah it has no comments
<kaichiuchi> unrelated
<Ermine> I submitted a doc page
<Ermine> I've
<kaichiuchi> but how did DOS programs handle GUI stuff
<kaichiuchi> there probably almost certainly wasn’t a GUI thing
<heat> VGA framebuffer go brr
<kaichiuchi> API
<Ermine> heat is right
<kaichiuchi> right
<Ermine> DOS is basically BIOS but there's int 21h which is not as capable as BIOS
<kaichiuchi> i’m having fun writing ANSI C again
<kaichiuchi> come to daddy kaichiuchi
<heat> sus
<kaichiuchi> shut up
<kaichiuchi> :(
<heat> wanna contribute to my os
<kaichiuchi> maybe
tacco has joined #osdev
<kaichiuchi> always looking to add something cool on my resume
<Ermine> pretty sus-compliant
tacco has quit [Remote host closed the connection]
<Ermine> sus unix specification
<heat> amogus unix
<kaichiuchi> “i rm -rf’d an OS making it infinitely better”
<heat> "i graverobbed kaichiuchi"
<Ermine> So
<kaichiuchi> but seriously
<Ermine> Why do you want to program under DOS?
<kaichiuchi> there’s something strangely primal about something from before i was born compiling my shit
<kaichiuchi> Ermine: porting game boy emulator to 486
<Ermine> Hey, Linux still support 486
<Ermine> supports
<kaichiuchi> i don’t think it would actually boot
<kaichiuchi> also google says it doesn’t anymore
invalidopcode has quit [Remote host closed the connection]
invalidopcode has joined #osdev
<Ermine> gentoo maybe will. But ok
<kaichiuchi> Ermine: man come on you don’t think it would be the coolest shit ever to have a game boy emulator running at full speed on some of the worst hardware ever
<kaichiuchi> :(
<Ermine> having it running would be cool shit already
<kaichiuchi> there is someone who wrote one in 1990 in full assembly
lucartc has joined #osdev
<kaichiuchi> works mostly fine
<kaichiuchi> but i’m willing to make a bet that a modern compiler can generate better code than a 100% assembly written program in the 90s
<kaichiuchi> that wording was botched but you get it
<Ermine> Yeah
<heat> i don't think they've dropped 486 yet
<heat> they did drop 386
<kaichiuchi> i think the real straight up performance issues are going to come from audio handling
<Ermine> heat: I think literally everybody enable various MMX/SSE stuff which isn't available on 486
<kaichiuchi> there’s almost certainly not enough RAM for a JIT
<Ermine> Well, MMX no more
<heat> doesn't matter, linux itself doesn't require a pentium
<kaichiuchi> well maybe there’s enough
<heat> the kernel
<kaichiuchi> 32MB of ram in some cases
<kaichiuchi> i would expect that the generated functions would be fairly tiny
<Ermine> kaichiuchi: guy tried to run Gentoo, audio works more or less with bare alsa as long as nobody talks with other daemons on the same system
<kaichiuchi> i see
<zid> sounds like oss rather than alsa
<kaichiuchi> and honestly I don’t know how clever I can be with Z80 -> x86
<Ermine> they used alsamixer
<kaichiuchi> how many gprs are on x86?
<kaichiuchi> 8
<kaichiuchi> there are 8 8-bit GPRs on x86
<kaichiuchi> er
<kaichiuchi> z80*
<kaichiuchi> so I think I have an idea on how to do this…
<heat> jit time?
<kaichiuchi> no not even remotely close to that yet
<kaichiuchi> first I just want to get it working
gxt has quit [Remote host closed the connection]
SGautam has joined #osdev
gxt has joined #osdev
k0valski18891 has joined #osdev
danilogondolfo has quit [Remote host closed the connection]
<ddevault> anyone have an rpi3 or rpi4 they can send my way on short notice?
<heat> lol
<heat> want some gold bars too?
<heat> :P
<ddevault> well, I'll send it back when I'm done lol
<ddevault> my backpack was stolen off of a train on new years with my rpi4 in it
<heat> aw :(
<ddevault> planned to use it for a talk at FOSDEM in february, still need to finish porting to it
<ddevault> so I need one ASAP
<heat> do you not have rpi400 nearby?
<heat> I think those are the only ones they're making right now
<ddevault> maybe I can find one
<ddevault> I also found a source for rpi3 500 MiB at an extortionate price but the lead time is alarming given my timeframe
<heat> rpi4 are absolutely unobtanium
<heat> also rpi zero 2 w are a thing
<ddevault> rpi400 all sold out
<heat> cheap af and are basically AIUI rpi3
<ddevault> maybe that'd work
<ornx> on x86 with EFI you still get a framebuffer at 0xA0000, right?
<ddevault> if you're using EFI you should set up a framebuffer with GOP
<ornx> won't it be gone after you exit EFI boot services though?
<heat> ornx, probably, but I don't think you're VGA enabled at that point
<heat> no
<ddevault> yeah it'll still work after EFI's gone
<ornx> ahh i see
<zid> you might be in the wrong video mode, but the vga card is still snooping those addresses for pixels om nom
<heat> (some?) traditional GPUs invariably still have legacy VGA support
<zid> no matter what you do really
<ddevault> rpi0 also out of stock everywhere -_-
<ddevault> gdi
<heat> zid, but do they work when you're not in a VGA video mode?
<zid> it's just whether it bothers to draw them
<zid> which means mode setting ega/cga/vga etc
<ddevault> woot friend agreed to mail theirs to me
<heat> noice
<ddevault> rpi3 though so I have to rejigger my port a bit
<ddevault> and subtract another few days from the time I have to prepare for FOSDEM
<heat> are you talking about your project at FOSDEM?
<ddevault> wheeeee
<ddevault> yeah, I hope so
<ddevault> doing a talk about hare moreso than helios
<ddevault> the idea is to present the slidedeck from helios and midway through the talk reveal that the whole thing is running from a device running only Hare code
<Ermine> Tfw when they are still posting invitations to Minix ML
<ddevault> lame fallback involves booting linux and showing my PDF :(
<heat> ddevault, that would be fucking nuts
<ddevault> aarch64 port of helios is about 70% done in qemu
<Ermine> On long-term side, seems like Quartz64 is not out of stock (though they are more expensive)
<heat> if things fail just boot helios on qemu aarch64
<ddevault> need to do the last 30%, port userspace, test and verify everything on real hardware (<= the problem), and then write a little GPU driver and stuff all my slides as images in the initramfs
<Ermine> Hopefully Netherlands post service is fast and reliable enough
<ddevault> if I do manage it, it'll make for a nice slide to brag about porting the kernel to aarch64 inside of 2 months
<ddevault> fallback is "forget about porting your kernel, just write a new kernel whose job is just to render a slidedeck in EL1", but I'm all in on doing it properly at this point
<heat> also you're technically lying
<heat> tianocore is C and still present
<heat> :))
<heat> harefi when?
<Ermine> ?
<ddevault> once I exit efi boot services it's not :)
<ddevault> in any case firmware doesn't count
<heat> yes it is?
<heat> runtime services are very much still there
<Ermine> ah, I've got the pun
<ddevault> not necessarily
<ddevault> the code is in RAM but I'm not setting it aside, it'll be overwritten
<ddevault> and I'm not going to call into it anyway
<ddevault> not even planning on using GOP
<Ermine> do you plan to load graphics driver asap?
<heat> you probably still get things in secure world and shit
<ddevault> Ermine: well, once userspace is up, yeah, probably the first thing I'll do
<ddevault> maybe serial port first
<ddevault> it's only like 50 lines of code to get a framebuffer going over HDMI on rpi
<ddevault> which is why I chose the platform
<zid> tianocore made of chinese
<GeDaMo> I read that as cheese :|
<zid> chinese cheese
glenda64 has joined #osdev
<klys> I read that as tianocore made one of those
<zid> sweet dreams, actually
<heat> actually a great chunk of tianocore devs are chinese
<heat> so you're not wrong are you
<klys> .theo
<zid> heat can I have $4.95/mo
<heat> for wat
<zid> j-novel club membership, my pirates are being slow and skipping stuff
<heat> no
<zid> mig beanie
<gog> i'll give you 4.95 a month
<mjg> onlyfans
<gog> that's where i get the 4.95
<mjg> posting pictures of failed printfi mplementations
<zid> hot
<zid> I'll trade you a pic you can post to onlyfans
<gog> my implementation of printf does work tho :|
<zid> same
<ddevault> I had to overhaul my build system to get printf into the bootloader for the ARM port
<gog> although i think i have some bugfuxes in my experimental branch that i need to cherry pick
<heat> mjg, send me a picture of your pipe()
<mjg> heat: it isu nmapped
<mjg> dick().unwrap()
<mjg> for you roosters out there
<heat> RUST MOMENT
Matt|home has joined #osdev
<zid> gog: send username/pw to my charged up account kth
gxt has quit [Ping timeout: 255 seconds]
<gog> gog:gog
<bslsk05> ​bash.org: QDB: Quote #10171
<zid> it doesn't work
gxt has joined #osdev
<gog> weird it was working yesterday
<heat> why is it coredumping in the middle of sleep
<heat> makes no sense
<zid> you tell em heat
<heat> 𓂺
<heat> 𓂺𓂺𓂺𓂺𓂺𓂺𓂺𓂺𓂺𓂺𓂺
<Ermine> unsafe stuff
<moon-child> 𓂺 RUST 𓂺 RUST 𓂺 RUST𓂺 RUST 𓂺 RUST 𓂺 RUST𓂺 RUST 𓂺 RUST 𓂺 RUST𓂺 RUST 𓂺 RUST 𓂺 RUST𓂺 RUST 𓂺 RUST 𓂺 RUST𓂺
<gog> lmao
<zid> I keep trying to get heat pregnant, no luck so far
<gog> my favorite unicode character
<heat> 𓂺-rs
<gog> i'm pregnant
<Ermine> Rectangle?
<zid> gog: pregnanat!?
<gog> pomegranate
<zid> how babby is form?
* Ermine panics
<gog> how girl get pregnat
<heat> thru 𓂺
<heat> ?
<bslsk05> ​'how is prangent formed' by J.T. Sexkik (00:02:00)
<gog> pregananant
<gog> i lied i'm not pregnant :(
<zid> I'd just buy one if I wanted one
<zid> getting pergnet sounds unfun
<zid> I mean, getting pergnet is okay
<zid> being pergnat less so
<gog> pregonte
<zid> PREGONTE
<zid> PREGONTÉ
<gog> i'm sad
<zid> is it because you're broody
<gog> :<
<zid> find some moss to hug
<gog> it's illegal to touch the moss
<zid> It's illegal for me to hug random people's children too
<zid> I was going to say touch but heat might get the wrong idea
<gog> :|
<heat> :|
<Ermine> touch moss
<zid> touch moss you nerd
<gog> lmao log off and touch moss
<Ermine> touch: moss: operation not permitted
<zid> gog: go climb a tre- oh wait
<gog> what's a tre-
<zid> shouldn't climb trees when you're gregnat
<klys> latin?
<heat> gog no like my gifs
<heat> fuck gog
<gog> noo i do like them
<gog> what
<heat> fog for short
<gog> :<
<heat> have u noticed that gog = g o g = g(g(x))
<heat> just sayin
<zid> no
<zid> just sayin things about heat
<gog> yes
<gog> g ° g
<heat> gºg
<gog> g of g
<heat> ªªªªººªªººªº
<zid> if gog is good old games, then gog is good ol girl
<zid> that makes you sound like an aged horse
<gog> i'm an old mare
<zid> knackered nag
<gog> yes
<zid> moldy mare
<klys> glenda64, do you work
<zid> yea glenda
<heat> ‏bazinga
<heat> aw shit this doesn't work does it
<heat> right to left is a lie
<heat> klys, glenda64 is not the glenda bot
<klys> ah.
<heat> it's a real person
<zid> when are we upgrading to heat64
<gog> we're not
<gog> we don't need bazinga in 64 bits
<zid> Let's upgrade him to 4 bit first
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
heat is now known as _FILE_OFFSET_BIT
<kof123> right to left worked fine. if you have a worse irc client than me you got problems :D
<_FILE_OFFSET_BIT> this doesn't take the full name :(
_FILE_OFFSET_BIT has quit [Remote host closed the connection]
heat has joined #osdev
<zid> Just outright quits
<heat> it crashed lmao
<klys> < glenda> If some of you people keep insisting on having backwards compatibitity with the stone age,
<klys> we'll have stone tools forever.
<zid> Potion seller, this client cannot handle my strongest usernames
<heat> klys, kinda want to install glenda now and serve it out of my rpi
epony has quit [Remote host closed the connection]
epony has joined #osdev
bauen1 has quit [Ping timeout: 272 seconds]
glenda64 has left #osdev [WeeChat 3.7.1]
vexmane has joined #osdev
<heat> optimal pci bus resource allocation is kind of nuts isn't it
<zid> disregard optimal
<zid> obtain vram
<heat> yeah I don't know how optimal I need to be
<heat> is PCI resource allocation that tight?
<zid> every device gets its own gigabyte
<heat> can I be wasteful?
<zid> shifted around by bus,device,subfunc,bar
<zid> shouldn't take more than a couple TB
<heat> the problem here is that every bridge gets its own subrange and then devices need to allocate from there
<heat> my first idea was to get a window of $size bytes aligned by $largest_alignment
<heat> since every size is a power of 2, things Just Work
<heat> but I'll leave gaps
<heat> zid, can you give me your lspci -vv?
<heat> it should have more things as a Xeon
gog is now known as pogchamp
ptrdiff_t has joined #osdev
ptrdiff_t has left #osdev [WeeChat 3.5]
SGautam has quit [Quit: Connection closed for inactivity]
vexmane has quit [Quit: bye bye]
pogchamp is now known as gog
xenos1984 has quit [Ping timeout: 252 seconds]
vexmane has joined #osdev
Freja is now known as theWeaver
xenos1984 has joined #osdev
<zid> heat: Not unless you port lspci to windows
<zid> oh maybe there is one
<heat> lspci works for windows btw
<bslsk05> ​git.kernel.org: README - pciutils/pciutils.git - The PCI Utilities - development tree
<bslsk05> ​gist.github.com: lspci-winhost.txt · GitHub
<zid> windows will allocate stuff differently to linux but whatever right
<heat> windows will not allocate stuff, neither will linux
<heat> mr firmware takes care of everything in PC
<zid> I meant the bar addresses and stuff
<zid> there's certainly some runtime frobbing of those, even if only by drivers
<heat> afaik only when resizing BARs
<zid> https://gist.github.com/zid/2b14b8d0735e6a1db54b4babb1fd034e I need a longer list, should I add some more pci-e bridges
<bslsk05> ​gist.github.com: lspci-nov.txt · GitHub
<heat> which your GPU doesn't do
<heat> zid, thanks btw
<zid> what happened to bus 2 through 5? :(
<heat> they're probably there but hidden
<heat> intel chipsets frequently have devices that can be hidden and immediately stop responding to PCI config space accesses
<heat> i know mine has a DRAM one that does that
<zid> sorted list of all the stolen phys addresses
<heat> that makes no sense
<heat> your GPU isn't taking up the whole of PCI MMIO space
<heat> but that view seems to imply that
<zid> as in none of region 0 1 3 5 cover A000+?
<heat> no, I mean that it's implying the 1050 is using 0xc0000000 - 0xfbffffff
<zid> it is
<heat> which is the whole of your PCI host bridge range
<zid> along with the root port
<heat> it is not
<heat> then your NIC wouldn't have MMIO
<heat> yes, what I'm saying is that it makes no sense
<heat> the root port using it makes sense from a hierarchical POV, but the GPU bit seems confused
<zid> 0xFB400000-0xFB41FFFFIntel(R) 82579V Gigabit Network ConnectionOK
<zid> 0xFB448000-0xFB448FFFIntel(R) 82579V Gigabit Network ConnectionOK
<zid> wanted to count the 0s
<zid> FB400000 okay so that's 8 digits right
<zid> 0xC0000000-0xFBFFFFFFNVIDIA GeForce GTX 1050 TiOK
<zid> C0000000 also 8
<zid> MAGIC
<heat> window bork
<heat> also btw you don't need a BAR down in the VGA space to decode VGA
<epony> shouldn't it be called GeoForus or something
<epony> TorusChorus
<heat> it's "VGA Palette Snoop Enable"
<zid> lazy
<zid> is it my network card making my graphics card all snowy then
<zid> that's be funny
<\Test_User> more fun if your gpu starts sending network packets
<zid> (It's 100% the monitor)
<zid> I have more chili, my netflix is watching an australian guy flame spraying
<gog> netflix and chili eh
vexmane has quit [Quit: bye bye]
<zid> would you like to hear about flame spraying gog
<gog> sure
<zid> cast iron is bad to weld, and if you do it likes to form bits of hardened steel
<zid> so instead, you blast it with a flamethrower then drop iron filings onto it and they melt
<gog> neat
bgs has quit [Remote host closed the connection]
<heat> heat
<epony> beat
<zid> zid
<epony> 8eat
<epony> Beat
<epony> the incremental addition to the small n letter to convert it the a B
<epony> since Deat is not a word yet™
<gog> Deat
<moon-child> pog
<heat> goog
<epony> dood
<epony> boob
<epony> poop
<epony> 6oo6
<epony> 9oo9
<epony> ⁹00⁹
<jimbzy> Welding cast iron is annoying, but doable. I'd rather braze it whenever possible.
<epony> ₆00₆
<epony> and, of course GOOG
<epony> that's how you make the ultimate passive cooler for your silent PC
<epony> welding cast iron
<heat> brazinga
<epony> pershing
<epony> durango
<epony> badunga
<epony> ROTONDA
<epony> to you, it appears there are no other "players"
invalidopcode has quit [Remote host closed the connection]
<epony> that's how it looks when you imagine that Microsoft does not exist
invalidopcode has joined #osdev
heat is now known as _GNU_SOURCE
<epony> and you can not get the mandatory Mikidepia reference too https://en.wikipedia.org/wiki/Sphere_of_influence#Corporations
<bslsk05> ​en.wikipedia.org: Sphere of influence - Wikipedia
<epony> because it does not carry the section title
dutch has quit [Quit: WeeChat 3.7.1]
<epony> ^ "For example, the software company Microsoft has a large sphere of influence in the market of operating systems; any entity wishing to sell a software product may weigh up compatibility with Microsoft's products as part of a marketing plan."
<epony> no shit, institutionalisation support for capitalism monopolies and international cartels seated in the imperial colony