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
gmodena has joined #osdev
fwg has joined #osdev
<Lugar> hello
orthoplex64 has quit [Remote host closed the connection]
orthoplex64 has joined #osdev
<Lugar> i tested positive for covid so now i get to stay home and code more :]
<Ryanel> Howdy Lugar. When I got covid a few weeks back, that's exactly what I did too. It was surprisingly productive. Covid sucks though, so do feel better!
<Lugar> thanks
<Lugar> since i have over a week im gonna move my os to uefi
<klys> you might learn a bit from when I was trying to port acpica to lk
<klys> I'll link my tarball from then
<heat> acpica is pretty simple to port
<heat> implement the os interface and try to run it
<heat> failed? do it again
<klys> I got it to where it compiled all the acpica binaries
<klys> nothing runs yet
<heat> why do you want the binaries?
<heat> you just need the kernel resident subsystem
<klys> oh I was doing a full acpica port
<klys> and it shouldn't have been difficult, I just got a job and have been busy ever since
biblio has quit [Quit: Leaving]
pretty_dumm_guy has quit [Quit: WeeChat 3.4]
<klys> note: my acpica version was released under the gpl, http://acpica.org/node/178
<bslsk05> ​acpica.org: Version 20200326 | The ACPI Component Architecture Project
Oli has joined #osdev
[_] has joined #osdev
<heat> no, it's dual licensed
[itchyjunk] has quit [Ping timeout: 240 seconds]
<heat> or triple licensed
<heat> something like that
<heat> you can pretty much use it everywhere
<heat> like every big OS out there(mac, freebsd, linux, fuchsia, etc) uses it
<klys> all I mean to point out is that mine is still triple licensed
<heat> the only one that doesn't is windows I believe
<klys> 16:30:30< Zero3K@freenode> how do I split files from one commit to another?
<geist> well, if they're here i might be able to help them
[_] is now known as [itchyjunk]
<geist> forgot that there might be another channel still on freenode
<geist> that's still around?
<klys> yeah
<geist> any activity?
<klys> yeah: the above
<geist> hah that *is* the sum total of activity?
<klys> crystalmath was on last night
<kazinsal> ha
<heat> i think we won
<klys> he was answering web-85 on something with x86-64 asm
<klys> your friendly neighborhood spammer was on last week
<klys> somebody poked in another x86 asm question on the 12th but left too quickly
<klys> and njugush_ said hi on the 30th, those are all my scrollback
<geist> while i dont particularly want to think of it as a competition or whatnot, i'm glad to see we didn't bifurcate the community too much with that
<kazinsal> yeah we all moved here pretty quickly
xenos1984 has quit [Read error: Connection reset by peer]
<heat> yo thank god the spammer still goes to freenode
<kazinsal> he's showed up here a few times but I bet no one on the freenode channel has op
xenos1984 has joined #osdev
<kazinsal> so no one's around there to ban him
<heat> maybe the emperor himself
<joe9> Does this instruction work in amd64? http://okturing.com/src/12994/body . I can get the JMP to a label and CALL to a symbol work fine.
<joe9> But, the jmp to absolute value does not.
gog has quit []
<joe9> I tried with different segments cs, fs, etc.
<joe9> without any luck.
<joe9> https://www.felixcloutier.com/x86/jmp according to this, it should work(?)
<bslsk05> ​www.felixcloutier.com: JMP — Jump
<heat> segments don't do a thing on x86_64
<joe9> I get a general protection violation when I try it.
<heat> except gs and fs but those really are special (for TLS)
<joe9> does the jmp absolute address work?
<heat> doesn't jmp QWORD PTR jump to what the address it's pointing to contains?
<joe9> oh. I thought it was the address.
<joe9> not, the address of the address (jump location)
<joe9> REX.W FF /5 JMP m16:64 D Valid N.E. Jump far, absolute indirect, address given in m16:64.
<joe9> heat, I think you are correct. Thanks.
<joe9> it is an indirect address not the absolute immediate
<klys> oh yeah good one picking up on that ptr thingy
heat_ has joined #osdev
heat has quit [Read error: Connection reset by peer]
matrice64 has joined #osdev
<heat_> stupid internet
<heat_> anyway
<heat_> <heat> generally in x86_64 you just do (ATT syntax) mov $addr, %reg; jmp *%reg
<heat_> <heat> or a pushq + ret
heat_ is now known as heat
<klys> right, > good one picking up on that ptr thingy
<heat> the first one would be like, what, mov reg, addr; jmp reg?
<heat> yeah good to know I can still read a bit of intel syntax ;)
fwg has quit [Quit: .oO( zzZzZzz ...]
<joe9> yes, mov $addr, %reg; jmp *%reg this works fine.
<joe9> I was trying to figure out why jmp absolute_address would not work.
<joe9> jump relative works fine too.
<joe9> it makes sense now. Thanks.
<junon> For anyone interested, UVB76 is being hijacked by pirates at the moment
<junon> In response to impending Russian invasion
<kazinsal> oh shit
<junon> there's a live stream on youtube if you search for it
<kazinsal> that's awesome
<joe9> what invasion?
<kazinsal> ukraine
<junon> they've been playing nirvana on it and were using the trackers to spell out anti-putin russian strings, trollfaces, Metroid game cover art, and Ukrainian coat-of-arms
<klys> pirates?
<joe9> has it started?
<junon> klys: yeah, RF pirates
<klys> radio frequency?
<junon> joe9: not yet, but looks like it'll happen within the coming week(s)
<klys> I had thought you were talking about a boat for a minute there
<junon> klys: yeah. uvb76 is a well known russian military communications frequency that's been in operation for 30 years or so. It's never had pirates on it until the last few days.
<kazinsal> jesus christ, they're blasting out RHCP over the Buzzer
<kazinsal> this is amazing
<junon> Apparently it was seeing some huge shifts in activity prior to the mobilization of russian resources to the border of ukraine, so someone has hijacked the frequency and used the blotters to spell out a telegram invite link to send music/image requests to
<klys> envision if you will, a radio that communicates digitally, perhaps encrypted, and at a selected rate, changes its frequency.
<bslsk05> ​'UVB-76/The Buzzer (4625Khz) LIVE 2022-01-20 01:32' by The SWL Channel (live)
<junon> this is the closest thing to a modern Max Headroom I think we'll see for a while.
<junon> wanted to share with you all lol
<CompanionCube> good thinng it's not actually part of their dead hand system, eh?
<kazinsal> it's back to buzzing
<klys> the thing I mentioned is how I think most military RF equipment operates.
<junon> it just swept, that's not the buzzer.
<junon> buzzer is low and hits 4 different frequency bands at once, this is interference still.
<junon> back to music haha
nyah has quit [Quit: leaving]
<junon> anyway I'm headed back to bed, this has been going on for >48 hours now so I'm sure it'll still be going on in the morning. Night!
<CompanionCube> has it played rasputin yet, i wonder
<junon> oh man, that would be incredible
chartreuse has quit [Ping timeout: 240 seconds]
<kazinsal> this is by far one of the most interesting things to happen on a numbers station frequency in years
<junon> yeah this is intense, especially given the context
sdfgsdfg has quit [Quit: ZzzZ]
* CompanionCube recently randomly learned that there's a taiwanese numbers station
<CompanionCube> ooh, it's playing the final countdown!
<junon> They're playing the final countdown, oh jeez or man
<junon> not a good sign
<junon> :D
<geist> okay enough of this here
<junon> haha sorry geist, I'm off anyway
<heat> joe9, I think x86 doesn't have jmps and calls to absolute addresses like that
<heat> always indirectly through a register
Ryanel has quit [Quit: Leaving]
fwg has joined #osdev
<joe9> heat, ok. thanks.
ornxka has quit [Quit: WeeChat 3.3]
mctpyt has joined #osdev
fwg has quit [Quit: .oO( zzZzZzz ...]
skipwich has quit [Quit: DISCONNECT]
skipwich has joined #osdev
heat has quit [Quit: Leaving]
srjek has joined #osdev
orthoplex64 has quit [Remote host closed the connection]
orthoplex64 has joined #osdev
Oli has quit [Quit: leaving]
matrice64 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
matrice64 has joined #osdev
Ryanel has joined #osdev
Lugar has quit [Quit: Bye]
Ryanel has quit [Quit: Leaving]
mahmutov has joined #osdev
mahmutov has quit [Ping timeout: 250 seconds]
srjek has quit [Ping timeout: 240 seconds]
rustyy has quit [Quit: leaving]
rustyy has joined #osdev
[itchyjunk] has quit [Remote host closed the connection]
matrice64 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
jjuran has quit [Ping timeout: 240 seconds]
ravan__ is now known as ravan
jjuran has joined #osdev
jjuran has quit [Remote host closed the connection]
jjuran has joined #osdev
sdfgsdfg has joined #osdev
ElectronApps has joined #osdev
zid has quit [Ping timeout: 256 seconds]
zid has joined #osdev
bradd_ has quit [Ping timeout: 240 seconds]
bradd has joined #osdev
biblio has joined #osdev
zaquest has quit [Remote host closed the connection]
zaquest has joined #osdev
fwg has joined #osdev
zid has quit [Ping timeout: 256 seconds]
MarchHare has quit [Ping timeout: 240 seconds]
gdd has quit [Ping timeout: 256 seconds]
lkurusa has quit [Quit: I probably fell asleep (or went out). Who will ever know.]
gdd has joined #osdev
dormito has quit [Quit: WeeChat 3.3]
sortie has joined #osdev
GeDaMo has joined #osdev
asmwfi[m] is now known as segfault[m]
Clockface has quit [Ping timeout: 240 seconds]
gog has joined #osdev
ElectronApps has quit [Remote host closed the connection]
Sos has joined #osdev
ElectronApps has joined #osdev
sdfgsdfg has quit [Quit: ZzzZ]
ElectronApps has quit [Remote host closed the connection]
ElectronApps has joined #osdev
Burgundy has joined #osdev
puck__ has joined #osdev
puck has quit [Quit: nya]
puck__ is now known as puck
dennis95 has joined #osdev
bslsk05 has quit [Quit: ZNC 1.8.0 - https://znc.in]
bslsk05_ has joined #osdev
bslsk05_ is now known as bslsk05
Oli has joined #osdev
zid has joined #osdev
dormito has joined #osdev
Lugar has joined #osdev
puck has quit [Quit: -w-]
puck has joined #osdev
mctpyt has quit [Ping timeout: 268 seconds]
bauen1 has quit [Ping timeout: 256 seconds]
bauen1 has joined #osdev
lkurusa has joined #osdev
lkurusa has quit [Client Quit]
dormito has quit [Ping timeout: 250 seconds]
srjek has joined #osdev
Oli has quit [Ping timeout: 250 seconds]
Oli has joined #osdev
kaichiuchu has joined #osdev
ElectronApps has quit [Remote host closed the connection]
dude12312414 has joined #osdev
gdd has quit [Ping timeout: 256 seconds]
gdd has joined #osdev
[itchyjunk] has joined #osdev
dormito has joined #osdev
[itchyjunk] has quit [Read error: Connection reset by peer]
[itchyjunk] has joined #osdev
MarchHare has joined #osdev
nyah has joined #osdev
biblio has quit [Quit: Leaving]
puck has quit [Quit: -w-]
puck has joined #osdev
pretty_dumm_guy has joined #osdev
dennis95 has quit [Quit: Leaving]
ravan has quit [Read error: Connection reset by peer]
ravan has joined #osdev
Bonstra_ has quit [Quit: Pouf c'est tout !]
Bonstra has joined #osdev
klys has quit [Ping timeout: 250 seconds]
klys has joined #osdev
<joe9> in amd64, when an interrupt/exception without an error code is raised, will a 0 be pushed into the stack for the error code?
<joe9> such as interrupt 6(#UD) or interrupt 7 (#NM)
<zid> things that push, push, things that don't, don't. It's fairly common to put an extra fake push in yourself so they 'all' have an error code.
<zid> 6.15 - Interrupt 6 says "Exception Error Code" "None"
nyah has quit [Ping timeout: 240 seconds]
<zid> Whereas something like 10 says "An error code containing... is pushed onto the stack"
Oli_ has joined #osdev
<joe9> thanks, that makes sense.
Oli has quit [Ping timeout: 250 seconds]
<joe9> zid, so the stack on entering the interrupt handler is: SS, RSP, RFLAGS, CS, RIP, error code (if any), Return PC from the vector table?
<joe9> I am not sure of the Return PC from the vector table.
<joe9> just want to double check if that is on the stack too.
<joe9> the interrupt handler is CALL'ed so I assume that puts a PC on the stack too.
<joe9> figured it out. sorry for the bother.
<zid> You wouldn't get very far without RIP being there
<zid> iretq to.. somewhere!
<joe9> yes, that is true. I was talking about the return PC from the vector table.
<zid> the what
<joe9> if the interrupt handler is a call ..
<joe9> it is system specific.
<zid> pardon
<joe9> please ignore. In this os, the interrupt vector table is a bunch of call's.
<clever> on my main platform of interest, the vector table is an array of entrypoints, and the cpu will push the status and pc registers onto the stack before jumping to one
<clever> all errors are in MMIO space, and i am fully responsible for preserving every other register
<joe9> http://okturing.com/src/12998/body has the vector table I am working with at the bottom.
<clever> ah, your vector table is an array of opcodes, and it just directly jumps to that tiny slot
<joe9> a slightly modified version of plan9's.
<clever> it is a bit odd, how you have a `byte 0x01` in there, and how they all reference SB
<joe9> that is just the assembler syntax
<joe9> the byte 0x01 is the trap type to identify the interrupt fired
<clever> its a weird one
<clever> for context, this is what my irq handler looks like: https://github.com/librerpi/lk-overlay/blob/master/arch/vpu/interrupt.S#L46-L57
<bslsk05> ​github.com: lk-overlay/interrupt.S at master · librerpi/lk-overlay · GitHub
<zid> I don't see the point in the table at all
<zid> the hw already maintains a table
<clever> and then i fill an array with pointers to that, https://github.com/librerpi/lk-overlay/blob/master/arch/vpu/intc.c#L89-L92
<bslsk05> ​github.com: lk-overlay/intc.c at master · librerpi/lk-overlay · GitHub
<joe9> I guess having a single point of entry..
<zid> You'll need unique code to deal with each exception anyway, so you may as well.. point the interrupt there, is my thought
<zid> even if it does duplicate an entire couple of instructions
<clever> my ExceptionHandler macro in interrupt.S is an example of that
<clever> lines 16-44
<clever> its just generating a duplicate block of 4 opcodes for each exception, with a different immediate to load into r0
<clever> but it is also using a branch opcode, to jump to a shared tail, that finishes the setup before moving into C land
<zid> You've crunched all the icache and branch prediction etc anyway by taking an exception at all otherwise I'd be more wary of duplicating all the intros
biblio has joined #osdev
srjek has quit [Ping timeout: 240 seconds]
sdfgsdfg has joined #osdev
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
bfxfer has joined #osdev
Sos has quit [Quit: Leaving]
bfxfer has quit [Ping timeout: 256 seconds]
wikan has joined #osdev
* wikan waves
* GeDaMo particles
<blockhead> :)
<wikan> :)
<gog> :)
<wikan> i logged in and i am sleepy now :P
<wikan> must drink coffe and tea
<gog> i had a coffee on my walk home. it was delicious
bfxfer has joined #osdev
<wikan> how much sugar?
<wikan> i love coffee with pistachio mmmm
nyah has joined #osdev
<CompanionCube> heh, someone here recently mentioned mainframes, then elsewhere someone mentioned a UNIX port for the 370, apparently was from V6.
<CompanionCube> that's probably contemporary with the other software mentioned here :p
<gog> no sugar
FatalNIX has joined #osdev
<wikan> I switched to text mode. Love it. Sometimes I use Xserver if I need to ru
<wikan> n firefox
<wikan> it changed my mind.
<wikan> started to read man :D
<wikan> i didn't knew man is so helpful
<wikan> and now I am trying to find out how TTY works.
<wikan> i use tmux and i have no idea how programs prints to frames and fetch correct width and height of tty
<GeDaMo> curses, termcap
<wikan> yea, but how tmux catch output and put to frame
<wikan> tried to find in sources. I read code still.
<wikan> it is one of many question i have about operating systems in general
bfxfer has quit [Quit: Client closed]
<GeDaMo> Presumably it starts programs as children and replaces their stdin and stdout
<zid> dup2 and fork is a normal way
<zid> but, to query the terminal you can just speak vt to them
<zid> which is abstracted behind terminfo / termcap if you want
<wikan> hmmm, reading dup man. I have seen "oldfd" in tmux sources. It is good hint
<wikan> oldfd or old-something tty related
<gog> the original file descriptor that you're duplicating
<wikan> but why duplicate?
<wikan> if I run prog2 from prog1 it will print to prog1 tty
<wikan> still can't see how tmux catches output
<zid> you execvpe it or whatever and its stdin and stdout will be connected to your stdin and stdout
<wikan> maybe i am too stupid ;)
<zid> so you just move your stdin and stdout around along with some extra fds to act as your real stdin and stdout blah blah
<zid> just google for a dup2 example I'm sure it'll explain it
<wikan> ok, thanks
<zid> the trick is that fork() preserves the fd set that the parent had
<zid> so you fork() and then the parent and child can communicate over a pipe you made and replaced the child's stdin/stdout with
<zid> and the child then exec's, replacing itself with 'prog2'
<wikan> ok, but what about width and height?
<wikan> tmux has 100x80
<wikan> mc has 50x80 in pane
<zid> [20:52] <GeDaMo> curses, termcap
<zid> [20:59] <zid> but, to query the terminal you can just speak vt to them
<zid> [20:59] <zid> which is abstracted behind terminfo / termcap if you want
<wikan> so, forked child should use termcap/curses,right?
<zid> I don't know what you're trying to do, so I can't answer
<wikan> ok, just trying to udnerstand basics of tty
<wikan> thanks, i got a lot of information
<wikan> i am still to stupid to write my own os
<zid> sounds like you're trying to rewrite POSIX
<GeDaMo> wikan: you can type tput cols and tput lines to get the size of a terminal
<zid> which is.. not the OS level that most of us tend to care about
<zid> I think ##workingset is the channel for POSIX btw
<wikan> GeDaMo, well I know. I was wondering how tmux tricks for example mc to see different tty size ;)
<zid> speak VT to it but badly
<FatalNIX> CompanionCube: maybe you're the one that wants to port all of 386BSD's Makefiles to GNU Make :P Kidding... kidding...
<wikan> zid, well I still wonder what I want to do. Work on my own os, try it, or build linux from scratch
<GeDaMo> tput sends escape codes to the terminal, tmux intercepts those through the replaced stdout
<CompanionCube> FatalNIX: i vaguely recall microsoft shipping a particularly crappy make at one point, inb4 use that
<wikan> GeDaMo: ohhhhhh
<FatalNIX> Lol
<j`ey> wikan: building linux for qemu is pretty easy
<CompanionCube> would it be easier if you used say, bmake from pkgsrc?
<FatalNIX> CompanionCube: all I know is that the makefiles used in this project are super old and the only thing closest enough at all is bmake.
<FatalNIX> tbh if I could port it to modern BSD make I would
<CompanionCube> inb4 still uses a.out executables as well
<FatalNIX> but I'm more familiar with gmake. I think it would take a lot more work to figure out
<wikan> j'ey probably. how do you thing, isit possible without X :)? No matter what I want to do - linux or my own os?
<wikan> i mean - only text mode
<zid> why would you need X to run an assembler?
<wikan> have no idea. just asking.
<zid> nothing's stopping you typing out the entire windows 11 installation DVD in a hex editor over morse code without a computer at all
<zid> (it's just not very fun)
<wikan> i remember, qemu draws bios logo, so probablyit use SDL or something
<j`ey> wikan: yes, building linux w/o X is fine, I do it a lot
<gog> qemu has a text-only mode
<j`ey> wikan: not if you use -nographic
<gog> ^
* gog taps furiously at her programming telegraph
<wikan> will i learn a lot about oses?
<j`ey> making a linux build? not really
<zid> depends if you mean OS by what we mean
<zid> or what non-osdev people mean
<zid> we mean memory allocation, device drivers, process scheduling, etc
<gog> and implementing it very poorly at that
<wikan> good point
<zid> what you appear to mean is 'user programming'
<blockhead> i recall once hearing about an idea for an OS where the entire interface was headphones and a single key for morse code input
<wikan> well when I tried to write my own os, i stopped on hello world kernel. Didn't know what should i do next.
<wikan> I didn't want copy-paste.
<zid> ideas are the annoying hard part
<gog> yes
<zid> That's why I did networking first because you know, that's weird and fun
<gog> and sometimes an idea might depend on a lot of stuff that you don't already have so you either have to copy/paste or start building wheels from scratch
<FatalNIX> if I were to go about building a hobby OS from the ground up I'd probably work on serial IO networking first
<FatalNIX> I mean that's what I've done before, but I'd probably put more effort into it
<gog> i currently have some refactoring to work on
<FatalNIX> once the UART is up and running... you can use a slave computer for persistence and communication
<gog> i've got a technical debt to pay off
<FatalNIX> Buzz lightyear says: Technical Debt! TEchnical Debt Everywhere!!!
<gog> i got virtual memory spaces working but it's a little bit of a mess
<wikan> where you search for knowledle?
<wikan> for example: virtual memory
<gog> reading
<wikan> when I google for something i am getting trash
<gog> the osdev wiki is a good jumping-off point and the forums sometimes have helpful hints
<wikan> to 10 this, best 20 that, etc
<gog> but for the most part you have to have a pretty good idea of how the thing is supposed to work conceptually before being able to really do it
<FatalNIX> It probably sounds really funny saying this, but in the past when I've worked on OS-like projects, see I have an actual Pentium II box that runs FreeDOS, so I would write code on that and run it inside of DOS then port it.
<zid> yes, google is infact trash
<zid> these days
<zid> get better at tricking it
<kingoffrance> ^
<kingoffrance> it helpfully returns what it thinks most ppl like you wanted, or something
<gog> you can do some funky stuff with DOS
<zid> negative keywords and verbatim searches, limit results to 2002, etc :P
<FatalNIX> I just like that on DOS I am in 16 bit mode, and if I want to do 32 bit stuff I can just load it in a DPMI
<wikan> i think my problem is that, i am self... (past time of teach)
<FatalNIX> makes it easy for testing
<gog> like that guy who implemented DOS Long Mode Interface
<FatalNIX> Yes.
<FatalNIX> Who was that?
<gog> uhhhh
<gog> i'd have to check
<FatalNIX> They were talking about it a year or so ago in here I thought
<CompanionCube> search it in the logs?
<bslsk05> ​WindowsNT/asm - Assembly Tutorial for DOS (31 forks/166 stargazers)
<gog> michael chourdakis
GeDaMo has quit [Remote host closed the connection]
<FatalNIX> holy shit.
<kingoffrance> *and it assumes everyone is "ppl like you", so popular searches somehow get boosted, because everyone is your peer
<FatalNIX> I am forking this
<wikan> btw, one huge question i have
<wikan> i asked once on #gcc and got private message as reply. Didn't get it.
<wikan> HaikuOS has or had two versions - build on v2 and v4 of compiler
<gog> the one compiled with 2.95 or whatever is meant to be backward-compatible with the C++ ABI of BeOS
<wikan> why both were incompatible? Why apps for v2 couldn't work on v3?
<gog> the C++ ABI changed
* kingoffrance taps at gog teletrams
<kingoffrance> *telegrams
<wikan> so isn't it too rirsky to use gcc if you write your OS?
<gog> not really
* gog listesns carefully to the beeps and boops
<wikan> i always was thinking binary apps will work always if only libs are compatible. But there is ABI thing
dormito has quit [Ping timeout: 256 seconds]
<CompanionCube> yeah, stable ABI essentially only matters vis a vis proprietary programs
<wikan> so, btw, if Intel writes its own c compiler they must follow gcc ABI, right?
<j`ey> if they want to be compatbile
<wikan> they want apps compiled with their compiler to work on Linux compiled with gcc
<wikan> ^ in my example :)
GreaseMonkey has quit [Quit: No Ping reply in 180 seconds.]
Oli_ has quit [Ping timeout: 240 seconds]
<gog> well, it's SysV ABI and it's defined independently of GCC
srjek has joined #osdev
dequbed has joined #osdev
<geist> zid: it's a bit of a late response but the general strategy nowadays even on vectored systems that aren't embedded to route everything through a single routine on exception. so much so that the new Fred stuff from intel basically does that
<geist> essentially codifies that virtually all big oses just end up doing a secondary dispatch
<geist> and for the most part most risc machines do the same thing (with perhaps optional vectoring, like riscv)
<geist> my guess is it's because as the kernel gets more complicated there usually is more and more stuff to do in the preamble/postamble of most interrupt/exceptio routines anyway, so may as well have a single instance of that
Lugar has quit [Ping timeout: 250 seconds]
dormito has joined #osdev
netbsduser` has joined #osdev
netbsduser has quit [Ping timeout: 256 seconds]
<kazinsal> bizarre question: anyone every fiddled with openwatcom for 16-bit C work? considering using it for an april fools joke OS "release"...
<klange> I think there are some forumgoers who have.
<kazinsal> s/every/ever/
<klange> gcc has also paradoxically gotten a bit better about spitting out 16-bit code
<klange> (but not 8086 code)
<kazinsal> yeah, that's why I was looking at openwatcom. I want to target the PC/XT for fun
Lugar has joined #osdev
<kingoffrance> there's arghhh cough <spits> also ACK
* kingoffrance coughs
* blockhead hands kingoffrance a cough drop
<gog> you've got rona
sdfgsdfg has quit [Quit: ZzzZ]
Oli has joined #osdev
sdfgsdfg has joined #osdev
sdfgsdfg has quit [Client Quit]
sdfgsdfg has joined #osdev
GreaseMonkey has joined #osdev
Oli has quit [Ping timeout: 240 seconds]