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
<geist> ah yeah the whole vector 8 foloowed by 0xd. yep
<zid> random ascii! bruce dawson
<adder> but but
<bslsk05> ​randomascii.wordpress.com: O(n^2) in CreateProcess | Random ASCII – tech blog of Bruce Dawson
<geist> someone should go kick the ass of the guy at ibm that messed up the default PIC location
<geist> that was clearly not rading the x86 manual
<zid> PC best architecture though!
<adder> I clearly call my function to remap to pic, and it happens before I sti, so I'm not sure how's this possible
<bslsk05> ​bpa.st: View paste BLVA
<geist> intending to remap it and having it remap can be two different things
<adder> yeah unless somehow I fail to remap it
<heat> void pic_remap(u16, u16) { /* TODO */ }
<geist> right, validate that you do
<nikolar> kek
<heat> info pic dumps a bunch of pic registers in qemu
Gooberpatrol_66 has quit [Quit: Konversation terminated!]
<bslsk05> ​imgur.com <no title>
<adder> pic1: irr=00 imr=8e isr=00 hprio=0 irq_base=28 rr_sel=0 elcr=0c fnm=0
<adder> pic0: irr=00 imr=b8 isr=00 hprio=0 irq_base=20 rr_sel=0 elcr=00 fnm=0
<geist> tehre y aog
<geist> there ya go
<adder> :D :D
<heat> sweet
<geist> what was up with the remap function?
<geist> outp args in the wrong order? I've done that a bazillion times
<geist> es[pecially when looking at linux stuff,s icne the put the args backwards for whatever reason
<geist> probably to match asm syntax
<nikolapdp> yea
<adder> yes I had my outb/inb impls wrong
<heat> i always do port, value
<heat> i find it more intuitive
<zid> nikolapdp good news, it is monday, sorta
heat has quit [Ping timeout: 268 seconds]
Gooberpatrol66 has joined #osdev
<geist> yah agreed. linux annoyingly does a bunch of those things backwards
<geist> like writel, etc
<Mutabah> what order does it do?
<Mutabah> Hopefully `outb(port, val)`, right?
<Mutabah> (mirroing assignment syntax, and intel assembly syntax)
<Mondenkind> make a wrapper struct for ports
<Mondenkind> and then overload it so you can do both ways :)
<Mutabah> That is the fastest transition from brilliant to cursed I have ever read
dude12312414 has joined #osdev
<Mondenkind> thanks i try
terrorjack has quit [Quit: The Lounge - https://thelounge.chat]
terrorjack has joined #osdev
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
<geist> Mutabah: nope
<geist> val, port. annoying
<Mutabah> cursed
<Mutabah> I blame AT&T
<geist> and same with writeb, writel, etc
<geist> yah that's my assumption
<Mutabah> I guess fwrite/fread do that order... but memset/memcpy don't
<Mutabah> Consistency, what's that?
<geist> i guess that's a good case for C++, have some sort of struct IoPort { int val; } thing and force the functios to take that
<Mondenkind> c can do that just the same??
<geist> you can,though it's a bit more unweildy
<Mondenkind> not really?
<Mutabah> You can't create struct instances inline in C iirc
<geist> you kinda can, but it's annoying, and i'm not sure its ansi C
<geist> you can do something like 'write_port((IoPort) { 5 }, val);`, iirc
<geist> and iirc it's subtly different than C++s
<Mutabah> I think that's GNU only?
<geist> https://gcc.godbolt.org/z/3MPos5exd is not half bad
<geist> https://gcc.godbolt.org/z/5T5nqjMdG guess the C version isn't too bad
<Mondenkind> not gnu only
<geist> yeah apparently
<geist> i though that was gnu only, but guess not. cool
<Mondenkind> can also struct ioport ioport(int x) { return (struct ioport){x}; } if you feel like it
<Mutabah> Neat
<geist> that's one of those weird differences in C and C++, IIRC
<Mondenkind> you can also take the address of a compound literal
<Mondenkind> f(&(struct whatever){.a = bla, .b = bluzzles})
<geist> yah that's the C equivalent of making a temp object and passsing by reference
<zid> what C is actual enums
<zid> needs*
<zid> words are hard
<zid> then you'd just have a PORT_DATA or whatever of type enum PORT and abuse all the tags matching :P
jjuran has quit [Ping timeout: 252 seconds]
jjuran has joined #osdev
<geist> yah enum classes are nice
gog has joined #osdev
pog has quit [Read error: Connection reset by peer]
jjuran has quit [Quit: Killing Colloquy first, before it kills me…]
jjuran has joined #osdev
goliath has joined #osdev
pog has joined #osdev
gog has quit [Read error: Connection reset by peer]
gog has joined #osdev
pog has quit [Read error: Connection reset by peer]
gog has quit [Ping timeout: 256 seconds]
housemate has joined #osdev
housemate has quit [Client Quit]
housemate has joined #osdev
housemate has quit [Quit: "I saw it in a TikTok video and thought that it was the smartest answer ever" ~AnonOps Radio [LOL]]
rustyy has quit [Quit: leaving]
rustyy has joined #osdev
duckworld has quit [Ping timeout: 264 seconds]
duckworld has joined #osdev
foudfou has quit [Ping timeout: 260 seconds]
foudfou has joined #osdev
Patater- has joined #osdev
xenos1984 has quit [Killed (NickServ (GHOST command used by xenos19841))]
xenos1984 has joined #osdev
terrorjack7 has joined #osdev
JerryXia1 has joined #osdev
DrPatater has quit [Read error: Connection reset by peer]
Bonstra has quit [Remote host closed the connection]
terrorjack has quit [Read error: Connection reset by peer]
JerryXiao has quit [Ping timeout: 268 seconds]
Bonstra_ has joined #osdev
terrorjack7 is now known as terrorjack
Matt|home has quit [Ping timeout: 268 seconds]
duckworld has quit [Ping timeout: 264 seconds]
duckworld has joined #osdev
xvmt has quit [Ping timeout: 240 seconds]
<zid> suddenly hot again
<zid> I blame gedamo
xvmt has joined #osdev
xvmt has quit [Remote host closed the connection]
<vdamewood> I may have kept him from opening the fridge door to cool the planet down.
xvmt has joined #osdev
vdamewood has quit [Quit: Life beckons]
<chiselfuse> at the very end of this chapter https://www.nasm.us/doc/nasmdoc3.html#section-3.4 it says:
<bslsk05> ​www.nasm.us: NASM - The Netwide Assembler
<chiselfuse> > NASM has the capacity to define other special symbols beginning with a double period: for example, ..start is used to specify the entry point in the obj output format (see section 8.4.6), ..imagebase is used to find out the offset from a base address of the current image in the win64 output format (see section 8.6.1). So just keep in mind that symbols beginning with a double period are special.
<chiselfuse> i can't find info on this, i thought it was `_start`, not `..start`. it says dots are for local variables, then says this...
Left_Turn has joined #osdev
<kof673> it does note those are for specific output formats
* kof673 zzzzzzzzzzzzzzz
<bslsk05> ​forum.nasm.us: How do I set the entry point? The official documentation's explanation is wrong.
<zid> _start is what ELF calls it
<zid> That's a directive for the OBJ output format
<zid> (_start is actually just canonical too, it isn't part of the spec)
<zid> Your system's linker scripts just all have ENTRY(_start) in them, because the libc does
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 256 seconds]
netbsduser has joined #osdev
theyneversleep has joined #osdev
Matt|home has joined #osdev
GeDaMo has joined #osdev
theyneversleep has quit [Remote host closed the connection]
bauen1_ has quit [Ping timeout: 264 seconds]
gog has joined #osdev
Matt|home has quit [Quit: KVIrc 5.2.4 Quasar http://www.kvirc.net/]
Starfoxxes has joined #osdev
X-Scale has joined #osdev
edr has joined #osdev
X-Scale has quit [Ping timeout: 250 seconds]
puck has quit [Ping timeout: 256 seconds]
bslsk05 has quit [Ping timeout: 268 seconds]
puck has joined #osdev
X-Scale has joined #osdev
bslsk05 has joined #osdev
op has joined #osdev
node1 has joined #osdev
bauen1 has joined #osdev
X-Scale has quit [Ping timeout: 250 seconds]
X-Scale has joined #osdev
X-Scale has quit [Ping timeout: 250 seconds]
X-Scale has joined #osdev
node22 has joined #osdev
node1 has quit [Ping timeout: 250 seconds]
gcoakes has quit [Ping timeout: 268 seconds]
node22 has quit [Quit: Client closed]
Matt|home has joined #osdev
dalme has joined #osdev
goliath has quit [Quit: SIGSEGV]
Turn_Left has quit [Ping timeout: 268 seconds]
Turn_Left has joined #osdev
FreeFull has quit []
FreeFull has joined #osdev
housemate has joined #osdev
<Ermine> Tfw directory entry I'm looking for is at offset 1337 from the beginning of the block
foudfou has quit [Remote host closed the connection]
<nikolapdp> leet
foudfou has joined #osdev
heat has joined #osdev
housemate has quit [Quit: "I saw it in a TikTok video and thought that it was the smartest answer ever" ~AnonOps Radio [LOL]]
xvmt has quit [Ping timeout: 268 seconds]
<heat> "Prior to Linux 5.5 iopl() allowed the thread to disable interrupts while running at a higher I/O privilege level"
<heat> proper unix behavior
<heat> ohhhh you can't use the x86 tss iopl because it allows you to use cli/sti
<heat> that's a gotcha
dutch has joined #osdev
eck has quit [Quit: PIRCH98:WIN 95/98/WIN NT:1.0 (build 1.0.1.1190)]
xvmt has joined #osdev
eck has joined #osdev
<Ermine> rofl
<bslsk05> ​lore.kernel.org: IOPL emulation breaks hpasmd (hp-health) needed by HP DL380 G4 servers - Ondrej Zary
<heat> THEY ACTUALLY DISABLED FUCKING INTERRUPTS
<Ermine> Fuck
<Ermine> I deeply regret approving purchasing those HP servers
<heat> lmfao
<heat> they map the fucking BIOS bits and then execute them
<Ermine> I'll advise buying Dell or something next time
<Ermine> idk actually
<heat> if i ever advise someone buying dell you best believe i'm in a hostage situation
<Ermine> ok, will cross dell out of my list
<Ermine> I guess only Lenovo is left then
<heat> buy oxide
X-Scale has quit [Ping timeout: 250 seconds]
<Ermine> these ones? https://oxide.computer/
<bslsk05> ​oxide.computer: Oxide Computer Company
<heat> yes, they run illumo
<heat> s
<netbsduser> illumos with rust
<netbsduser> what a combination
<Ermine> the fact I've tried out OpenIndiana for a few seconds doesn't make me illumos lover
<heat> netbsduser, they seem to really like rust over there
<heat> if there's anything you can fault the old solaris people (bmc, etc) for, lack of adapting to new technologies isn't it
bauen1 has quit [Ping timeout: 268 seconds]
X-Scale has joined #osdev
<Ermine> Meanwhile, fedora installer can't detect my ssd for some reason
<nortti> how's the ssd attached?
<Ermine> sata
<Ermine> The kernel detects it just fine, it's installer issue
<nortti> that's curious
<Ermine> therefore I'll probably go with btwOS. Eh
xenos1984 has quit [Ping timeout: 264 seconds]
xenos1984 has joined #osdev
<heat> weird
<heat> Ermine, hmm is your ssd in raid mode?
<Ermine> no
<Ermine> I have nothing to raid it with
<heat> yeah but have you seen in the BIOS settings?
<heat> from a quick google i think it can fuck with fedora
<Ermine> SATA Mode Selection is set to AHCI
<Ermine> Anyway, my storage configuration is basic. It's fedora which can't get their installer right in 2024, which is LUL
<heat> onyx doesn't have an installer, so the onyx installer is never wrong
<Ermine> sounds like minimalist take
<heat> i'm simply an arch btw enjoyer
linear_cannon has quit [Ping timeout: 256 seconds]
<heat> minimalists would have you write your own install script in POSIX sh
<heat> somehow abusing pipes along the way
linear_cannon has joined #osdev
housemate has joined #osdev
dalme has quit [Ping timeout: 268 seconds]
X-Scale has quit [Ping timeout: 250 seconds]
frkzoid has quit [Ping timeout: 256 seconds]
<Ermine> arch has an installer
xenos1984 has quit [Ping timeout: 268 seconds]
X-Scale has joined #osdev
bauen1 has joined #osdev
<heat> that's for the WEAK to use
xenos1984 has joined #osdev
X-Scale has quit [Ping timeout: 250 seconds]
<Ermine> I'm weak ngl
netbsduser has quit [Ping timeout: 256 seconds]
<heat> you should try installing it manually
<heat> you'll find it to be pretty easy
<zid> It is monday for real now my dudes
<heat> the guide basically tells you what to do, essentially <configure this and that, pacstrap -S base <desired packages>, arch-chroot /mnt, you're in your new system now
<heat> just don't forget installing a bootloader!
frkazoid333 has joined #osdev
netbsduser has joined #osdev
<Ermine> heat: I've installed it several times manually, so I know how this works
<Ermine> I'm too lazy for that
<heat> sad
housemate has quit [Quit: "I saw it in a TikTok video and thought that it was the smartest answer ever" ~AnonOps Radio [LOL]]
daniel_h has joined #osdev
eevv has joined #osdev
<kof673> > hpasmd is a binary-only crap that is required on these servers for the fan regulation to work. Without it, fans run at full speed, producing too much noise and consuming power.
<kof673> which is just to say.....the hw is one thing, this sounds like deliberate software issue because they want to keep their "binary-only"
spenc has left #osdev [#osdev]
<eevv> Anyone ever tried to make a custom PE 64-bit file and run into "the application was unable to start correctly" error? The error code is 0xc000007b. I have one section `.text` that is located virtually and physically (in file) at address 0x1000 (the file and virtual alignments are both 4k). I set my entry address to 0x1000 and base code 0x1000, but
<eevv> when I set the entry address to 0, there is no application, however I think it tries to execute the header as if it were code...
<eevv> there is no application error*
<geist> hmm, well that sounds like a plausible thing
X-Scale has joined #osdev
josuedhg has joined #osdev
daniel_h has quit [Read error: Connection reset by peer]
navi has joined #osdev
<heat> geist, remember that thing about your (fuchsia) mmio helpers being in inline asm cuz stores were like merged or something?
<heat> in what case is it permissible for that to happen?
<zid> PE is annoying like that, it's very picky but hard to know what it's being picky about
<heat> ahhh the problem wasn't that stores were merged, it's that they were using movd and other SSE instructions
node1 has joined #osdev
GeDaMo has quit [Quit: 0wt 0f v0w3ls.]
Starfoxxes has quit [Remote host closed the connection]
eddof13 has joined #osdev
<geist> right, even on ARM, using writeback in load/stores is no bueno for VM
eddof13 has quit [Client Quit]
eddof13 has joined #osdev
<geist> note you'll only notice it if you're running on KVM, but i was seeing it in particular cases with gcc 14 on a rpi 5 + KVM
<geist> on x86 i think for the most part it's hard to find an instruction kvm wont emulate, but they can emulate less efficiently, so sticking to a simple mov is a clean path
<heat> yeah
<heat> also TIL on clang address_space(any number) Just Works
<geist> yea that's kinda interesting
<geist> if you're looking at the LK mmio stuff i definitely got that from fuchsia, and it has a nice property of not letting you mix/match it
<geist> or something
<heat> yep
<heat> it works exactly like linux sparse, that's where they got it from
<heat> __user (and __iomem) is defined noderef and address_space(random number)
<heat> although sparse has the aditional feature of not being able to cast between them at all, you need a "force cast" for that
dutch has quit [Quit: WeeChat 4.3.1]
divine has quit [Ping timeout: 268 seconds]
vdamewood has joined #osdev
<heat> i don't really understand what's going on but my plasma+wayland setup seems to randomly send tabs to programs
<heat> i alt tab away from the editor or the browser and, boom, new tab just dropped
[Kalisto]5 has joined #osdev
[Kalisto] has quit [Ping timeout: 256 seconds]
[Kalisto]5 is now known as [Kalisto]
eddof13 has quit [Quit: eddof13]
<nikolar> KERNAL
<zid> nikolapdp is it 10pm yet
<vdamewood> zid: It is somewhere.
<zid> somewhere doesn't count if you're waiting for a thing though
<nikolar> It is zid
<nikolar> For you
<zid> great, time to madly refresh nyaa then
<nikolar> Do that
node1 has quit [Quit: Client closed]
X-Scale has quit [Quit: Client closed]
<Ermine> heat: do you mean tab key?
<gog> nyaa
<heat> yep
<eevv> Alright I figured out the PE thing, just set OS and subsystem versions to something small, if you set to 10 then it probably expects like manifest xmls and stuff
<eevv> PE is so undocumented its cray cray out here
<netbsduser> it's a direct descendent of COFF itself
<netbsduser> you could try XCOFF or ECOFF if you want to have a different flavour
<Ermine> linear executable!
<chiselfuse> zid: finally came round to do that small thing https://0x0.st/XB7l.sh
<chiselfuse> can shift+e in ida and enable it to always get copied to clipboard
<chiselfuse> or turn on bytes of instructions and highlight them then use this with primary selection
<chiselfuse> (hex view unusable because selects text in boxes)
<zid> nikolar: 1 week coma pls
xenos1984 has quit [Read error: Connection reset by peer]
* kof673 squints https://archive.org/details/windows-nt-196-linking-and-running-gcc > warning LNK4033: converting object format from OMF to COFF
housemate has joined #osdev
<nikolar> I can't do that zid
<zid> shit
op has quit [Remote host closed the connection]
xenos1984 has joined #osdev
netbsduser has quit [Ping timeout: 252 seconds]
Turn_Left has quit [Ping timeout: 268 seconds]
housemate has quit [Quit: "I saw it in a TikTok video and thought that it was the smartest answer ever" ~AnonOps Radio [LOL]]
antranigv has quit [Quit: ZNC 1.9.0 - https://znc.in]
eddof13 has joined #osdev
eddof13 has quit [Client Quit]
edr has quit [Quit: Leaving]
* vdamewood gives gog a fishy
* gog chomp fishy
eevv has quit [Quit: Client closed]
antranigv has joined #osdev
X-Scale has joined #osdev
X-Scale22 has joined #osdev
X-Scale has quit [Ping timeout: 250 seconds]
kpel has joined #osdev
X-Scale22 has quit [Ping timeout: 250 seconds]
antranigv has quit [Quit: ZNC 1.9.0 - https://znc.in]
kpel has left #osdev [Leaving]