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
bessieTheBoy has joined #osdev
<heat_> sorry i've been away for a bit
<heat_> i don't really recall many of these details but this should help: https://github.com/heatd/hsd/blob/master/usr/sys/stand/trap.c#L7-L35
<bslsk05> ​github.com: hsd/usr/sys/stand/trap.c at master · heatd/hsd · GitHub
gcoakes has joined #osdev
memset has quit [Remote host closed the connection]
memset has joined #osdev
Marsh has joined #osdev
MiningMarsh has quit [Ping timeout: 260 seconds]
Marsh is now known as MiningMarsh
<bessieTheBoy> heat_ thanks this worked.
<heat_> you were supposed to see whats wrong with your code
<heat_> but whatever
gog has quit [Quit: byee]
bessieTheBoy has quit [Ping timeout: 256 seconds]
<adder> I iterate over Limine's memory maps, and for each address in a range marked as USABLE, I make a struct page (which contains the address and the size, mostly), and insert it into a linked list of free pages, which I later use to allocate pages from. I also have a kernel heap of fixed size in one of those usable ranges located at the beginning of one of those ranges. My question is, should I make pages out of the heap region (and add them to the free list)? If
<adder> I do, I'll be overwriting memory when I later init the heap (struct block) and begin kmalloc-ing. I should also mention that during the process of recreating Limine's memory maps, I have mapped addresses in 0-4GB to address + hhdm_offset, so the heap happens to be mapped.
<heat_> no idea about limine, but struct page is *not* that
<heat_> struct page is a one-per-page kind of thing, generally contiguous so you don't need to store the address (neither the size)
<adder> hmmm
<adder> btw. nothing special about Limine, it just provides memory maps
<adder> wanna see some code?
<heat_> not really
<heat_> :D
<adder> np :)
<heat_> so, if your question is: what do i do to existing stuff when setting up the memory map and page allocator
<heat_> the answer is: you careful reserve those things if need be, and don't add them to the page allocator
<adder> so let's say I call palloc() (to alloc a page), do I keep the next free page in an uint64_t or so?
<adder> palloc() needs to return the physical address
<adder> at least that's how my current code is set up
<adder> I guess the question is, how do I keep track of free pages
<heat_> ok i'll explain my design. note that this is not the only idea, but the generally the common one
* adder 's ears perk up
<heat_> so i have a struct page with a bunch of per-page data crammed into it. flags, reference counts, whatever, not really super important atm. when initializing memory i take the max page address and allocate those many struct pages *contiguously*, so going from struct page * -> physical address is fast and straightforward.
<heat_> it so happens that my page allocator has a bunch of linked lists of pages, and the struct page itself is "owned" by the page allocator when free so... you can use those for the linked list, then going struct page * -> physical address is, again, fast and straightforward
<bslsk05> ​github.com: Onyx/kernel/include/onyx/page.h at c4cb5f0ea936de98a3f5c26f0c09a7f8cdb6bcff · heatd/Onyx · GitHub
<heat_> you'll notice a bunch of fields overlap each other with unions, it's gnarly but space-optimal
<heat_> idea being that e.g lru_node cannot be in use (a page cannot be in an LRU list) when freed in the page allocator (page_allocator_node.list_node is in use)
<heat_> you can skip the union terribleness for now ofc, it's far too complex if you're just starting out. a simple linked list node in your struct page is okay
<heat_> just trying to give you some fuller context :)
<adder> yeah, yeah, no problemos
<adder> I just don't understand what that linked list is doing in the struct?
<heat_> uhh this is a C linux-like list_head thing, that can be a linked list *node* as well as a linked list itself
<heat_> in this case these are all nodes
<adder> ok, let's just please take a step back: you are given ranges of physical memory, you do what with struct page with those?
<adder> do you (struct page *)(addr + offset), and then do something with that?
<heat_> a naive allocator that only allocates single pages would take the struct page for each page in that range, then add that
<heat_> note that (struct page *)(addr + offset) is *not* the math, because the struct page is not stored on the page it itself represents
<adder> ok
<adder> ..."add that", add where? to some linked list or so?
<heat_> yes, that would be the naive page allocator and will do for now
<heat_> and it's actually not completely terrible for all intents and purposes
<adder> just making sure we're on the same page (hehe), then when I go about allocating a page, I take a page off of the list?
<heat_> yes
<adder> great
<adder> thanks heaten
<heat_> wrt struct page, i have a struct page *page_map = array_of_pages_up_to_max_phys_addr; then basically the struct page for a given phys address is page_map[PFN], and the PFN for a given struct page is given by page - page_map
<heat_> PFN being physical addr / PAGE_SIZE (or >> PAGE_SHIFT)
<adder> ah that's great, thank you
<heat_> you're welcome :)
thesock has quit [Quit: Konversation terminated!]
Matt|home has quit [Quit: Better science means a better future]
Arthuria has quit [Ping timeout: 276 seconds]
vin has quit [Ping timeout: 252 seconds]
vin has joined #osdev
heat_ has quit [Ping timeout: 260 seconds]
gcoakes has quit [Ping timeout: 248 seconds]
obrien has quit [Remote host closed the connection]
gcoakes has joined #osdev
memset has quit [Ping timeout: 260 seconds]
memset has joined #osdev
vdamewood has joined #osdev
smeso has quit [Quit: smeso]
X-Scale has joined #osdev
smeso has joined #osdev
gcoakes has quit [Ping timeout: 260 seconds]
X-Scale has quit [Quit: Client closed]
goliath has joined #osdev
vdamewood has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
foudfou has quit [Remote host closed the connection]
foudfou has joined #osdev
antranigv_ has joined #osdev
antranigv has quit [Ping timeout: 252 seconds]
m3a has quit [Ping timeout: 260 seconds]
m3a has joined #osdev
PapaFrog has quit [Ping timeout: 252 seconds]
PapaFrog has joined #osdev
xenos1984 has quit [Read error: Connection reset by peer]
gorgonical has quit [Ping timeout: 255 seconds]
antranigv_ is now known as antranigv
xenos1984 has joined #osdev
Left_Turn has joined #osdev
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 265 seconds]
Left_Turn has joined #osdev
Turn_Left has quit [Ping timeout: 248 seconds]
GeDaMo has joined #osdev
troseman has quit [Ping timeout: 248 seconds]
troseman has joined #osdev
mavhq has quit [Ping timeout: 255 seconds]
mavhq has joined #osdev
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 252 seconds]
thesock has joined #osdev
leon has quit [Quit: see you later, alligator]
netbsduser has quit [Ping timeout: 260 seconds]
leon has joined #osdev
netbsduser has joined #osdev
<adder> heat, is your base_pfn the start of the lowest usable entry?
<adder> and why do you have it? to reduce the overhead?
<adder> my math seems to check out without it, so idk if I need it
<mcrod> hi
<sham1> hi
<nikolar> oi
<adder> hello
<nikolar> Are we kernaling today
<adder> yes been kernaling since 3am or so
<adder> idk if it's this h_e_a_t, but I'm having huge issues with my sleep
rustyy has quit [Ping timeout: 252 seconds]
op has joined #osdev
memset has quit [Remote host closed the connection]
memset has joined #osdev
MrCryo has joined #osdev
bauen1 has quit [Ping timeout: 255 seconds]
bessieTheBoy has joined #osdev
<netbsduser> i have been thinking of setting up virtually contiguous page structs
<netbsduser> i don't want to allocate as many contiguous as highest page lest i run on a system with particularly sparse memory
lain` has quit [Remote host closed the connection]
lain` has joined #osdev
lain` has quit [Remote host closed the connection]
lain` has joined #osdev
foudfou has quit [Remote host closed the connection]
foudfou has joined #osdev
goliath has quit [Quit: SIGSEGV]
baraq has quit [Remote host closed the connection]
ursa-major has quit [Remote host closed the connection]
whereiseveryone has quit [Remote host closed the connection]
lh has quit [Remote host closed the connection]
noeontheend has quit [Remote host closed the connection]
asymptotically has quit [Remote host closed the connection]
rselim has quit [Remote host closed the connection]
tom5760 has quit [Remote host closed the connection]
nagitsu has quit [Remote host closed the connection]
ddevault has quit [Remote host closed the connection]
patwid has quit [Remote host closed the connection]
hanemile has quit [Remote host closed the connection]
vismie has quit [Remote host closed the connection]
tommybomb has quit [Remote host closed the connection]
pitust has quit [Remote host closed the connection]
jleightcap has quit [Remote host closed the connection]
gjn has quit [Remote host closed the connection]
xtex has quit [Remote host closed the connection]
yuiyukihira has quit [Remote host closed the connection]
exec64 has quit [Remote host closed the connection]
sm2n has quit [Remote host closed the connection]
alethkit has quit [Remote host closed the connection]
listentolist has joined #osdev
noeontheend has joined #osdev
tommybomb has joined #osdev
lh has joined #osdev
whereiseveryone has joined #osdev
rselim has joined #osdev
xtex has joined #osdev
alethkit has joined #osdev
sm2n has joined #osdev
vismie has joined #osdev
ddevault has joined #osdev
jleightcap has joined #osdev
patwid has joined #osdev
tom5760 has joined #osdev
exec64 has joined #osdev
hanemile has joined #osdev
ursa-major has joined #osdev
nagitsu has joined #osdev
baraq has joined #osdev
yuiyukihira has joined #osdev
pitust has joined #osdev
gjn has joined #osdev
asymptotically has joined #osdev
edr has quit [Ping timeout: 255 seconds]
thesock has quit [Quit: Konversation terminated!]
Turn_Left has quit [Read error: Connection reset by peer]
Turn_Left has joined #osdev
lain` has quit [Remote host closed the connection]
bauen1 has joined #osdev
lain` has joined #osdev
rustyy has joined #osdev
lain` has quit [Remote host closed the connection]
lain` has joined #osdev
<bslsk05> ​www.brendangregg.com: No More Blue Fridays
<GeDaMo> "Once Microsoft's eBPF support for Windows becomes production-ready, Windows security software can be ported to eBPF as well."
<netbsduser> gregg still on the eBPF train
<netbsduser> he needs to get with the times
<netbsduser> turning linux into a microkernel with everything put into ebpf proglets was yesterday's thing
<netbsduser> today's thing is the wholesale rustication of linux, without delay
<GeDaMo> Why not just compile Rust to eBPF? :P
<mjg> can you unwrap in ebpf? :thinkingface:
<sham1> ebpf proglets of course aren't mutually exclusive with rust
<sham1> Although for rust, webassembly would be more natural
<bslsk05> ​eunomia.dev: Wasm-bpf: Bridging WebAssembly and eBPF for Kernel Programmability - eunomia
goliath has joined #osdev
<nikolar> No way
<sham1> please, I was joking ._.
<nikolar> YOU'LL HAVE WEB TECHNOLOGIES IN THE KERNEL AND YOU'LL LIKE IT
<GeDaMo> You misspelt KERNAL! :P
<nikolar> KERNAL!
<zid> It's spelled coronet
MiningMarsh has quit [Ping timeout: 245 seconds]
MiningMarsh has joined #osdev
Arthuria has joined #osdev
lain` has left #osdev [#osdev]
<sham1> I don't want a web kernal
<mjg> too late
<mjg> crashes are going to continue until morale improves
bessieTheBoy has quit [Ping timeout: 256 seconds]
[Kalisto] has quit [Quit: Ping timeout (120 seconds)]
[Kalisto] has joined #osdev
josuedhg has joined #osdev
MiningMarsh has quit [Quit: ZNC 1.9.1 - https://znc.in]
dza5 has joined #osdev
dza has quit [Killed (mercury.libera.chat (Nickname regained by services))]
dza5 is now known as dza
MiningMarsh has joined #osdev
Arthuria has quit [Ping timeout: 260 seconds]
heat has joined #osdev
<heat> <netbsduser> i don't want to allocate as many contiguous as highest page lest i run on a system with particularly sparse memory
<heat> here's the trick: you can use VIRTUAL MEMORY to that effect
<netbsduser> heat: i have been considering just that
<heat> make sure you hugepage the fucker
dude12312414 has joined #osdev
dude12312414 has quit [Client Quit]
guideX has quit [Killed (NickServ (GHOST command used by guide_X!matrixlink@user/guidex))]
guideX has joined #osdev
X-Scale has joined #osdev
josuedhg has quit [Ping timeout: 256 seconds]
xenos1984 has quit [Ping timeout: 248 seconds]
xenos1984 has joined #osdev
eau has joined #osdev
Turn_Left has quit [Ping timeout: 252 seconds]
X-Scale has quit [Ping timeout: 256 seconds]
goliath has quit [Quit: SIGSEGV]
X-Scale has joined #osdev
gog has joined #osdev
xenos1984 has quit [Ping timeout: 260 seconds]
X-Scale has quit [Ping timeout: 256 seconds]
X-Scale has joined #osdev
xenos1984 has joined #osdev
memset has quit [Remote host closed the connection]
memset has joined #osdev
MrCryo has quit [Remote host closed the connection]
netbsduser has quit [Ping timeout: 245 seconds]
netbsduser has joined #osdev
X-Scale has quit [Ping timeout: 256 seconds]
carbonfiber has joined #osdev
xvmt has quit [Remote host closed the connection]
gorgonical has joined #osdev
<gorgonical> how are we today, javascript webdevs?
* mjg feels excluded
<nikolar> uh javascript
<nikolar> why did you remind me
<nikolar> that it existed
<gorgonical> debugging kernel bugs is painful, but it could always be worse
xvmt has joined #osdev
<gorgonical> its a memento mori
<nikolar> lel
<sham1> I'm fine. Webdev is pain as always
<heat> i'm feeling terrible
<bslsk05> ​www.brackeen.com: 256-Color VGA Programming in C - modes.c
<bslsk05> ​web.archive.org: Fractal Programs
<kof673> "it could always be worse"
eddof13 has joined #osdev
FreeFull has quit []
xvmt has quit [Remote host closed the connection]
xvmt has joined #osdev
FreeFull has joined #osdev
bauen1 has quit [Ping timeout: 248 seconds]
eddof13 has quit [Quit: eddof13]
<Ermine> > brackeen -- reminded me of that evil senator from Castle
<kof673> lots of bracks lol House of the Dragon: The Bracken Brak is a cat-like alien (space ghost)
<bslsk05> ​<arnd> I had a feeling that kernel compilation got slower recently and tried to find the slowest file across randconfig builds. It turned out to be arch/x86/xen/setup.c, which takes 15 seconds to preprocess on a reasonably fast Apple M1 Ultra. ␤ This all comes from one line "extra_pages = min3(EXTRA_MEM_RATIO * min(max_pfn, PFN_DOWN(MAXMEM)), extra_pages, max_pages - max_pfn);" that expands to 47MB of preprocessor output after commit[…]
<heat> 15s of compile time FOR A FUCKING MIN
<heat> even the biggest SFINAE appreciator would be horrified
<netbsduser> substitution failure not an error, the catechism of C++ programmers, but do they understand it?
<netbsduser> a study was carried out lately, they couldn't find 10 C++ programmers so they asked 20 C programmers what it meant
<netbsduser> not one of them had even heard of it
GeDaMo has quit [Quit: 0wt 0f v0w3ls.]
<nikolar> lol
xenos1984 has quit [Read error: Connection reset by peer]
<heat> the unrealistic bit was that they could find 20 C programmers
<Ermine> first time I've heard of sfinae
<sortie> heat: It is a bit cold to program at but it's so weird when silicon valley offices are so chill, it's like the set the temperature so you can work in a suit but people are wearing shorts
<nikolar> heat: said a so called c programmer :P
<heat> sortie, 20C is cold?
<heat> arent you supposed to be, uh, nordic?
<sortie> heat: As an interior temperature, yeah a bit
<sortie> Outside, yeah warm
<sortie> warm-ish at least yeah
<Ermine> warm, but not enough
<heat> you're supposed to start melting with 15C, literal death at 25C
<mjg> that's russian
<sortie> heat: You're confusing me with my friends in Finland
<Ermine> There's a region in Africa that is claimed by nobody because it's too hot there, and it sounds like suitable place for me
<gorgonical> holy shit 48MB of output
<nikolar> But silly innit
<nikolar> Couldn't they have just split it up into several statements to avoid exponential growth
<nikolar> statementen
<gorgonical> I think this is why we need compile-time programming in a general way that isn't realized with the eldritch horrow that is c++ templates
<Ermine> I guess some stuff in min3 gets expanded more than once?
<gorgonical> s/horrow/horror/
<bslsk05> ​<gorgonical*> I think this is why we need compile-time programming in a general way that isn't realized with the eldritch horror that is c++ templates
<netbsduser> say what you will about C++ templates but you can do all kinds of useful and fun things with them
<nikolar> Everything gets expanded more than once
<Ermine> oh no, let's not holywar over languages today
<nikolar> I agree
<gorgonical> they are amazingly powerful but I really hated using them
<gorgonical> the boost library multicontainer was like wizardry I thought
<heat> >boost
<heat> yeah checks out
<gorgonical> I haven't used boost in many years and I really only used it in an academic setting. I was under the impression then that boost was like the batteries included with C++
<gorgonical> does it have a reputation?
<Ermine> my friend talked about boost asio all the time
<nikolar> As a non c++ guy, yeah it definitely has a reputation
<heat> boost is lovely if you love C++, boost is horrible if you have a particular set of C++ that intersects a lot more with C
<heat> but boost is also widely recognized to be veeeeeeery slow to compile, and complex
<nikolar> Also compile times, yada yada
<gorgonical> our entire project essentially was predicated on the boost asio event system
<gorgonical> I hate event-based programming
<nikolar> What do you prefer
<gorgonical> The main gripe I have with event-based programming is that most of the time tasks don't neatly decompose across async boundaries
<gorgonical> and the boost model forces you to have either lambda closures (ugly) or discrete functions (end up with func_part1 and func_part2)
<gorgonical> so I would prefer something like a continuation syntax to express this
<Ermine> looping around poll() is also event-based programming
<nikolar> Indeed
<gorgonical> It's more about the depth of the async stackk
<gorgonical> If it's just poll->event handler that's okay
<heat> poll being event-based programming is like saying linux is written in OOP
<heat> technically true, but a little far off from the actual thing
<nikolar> poll is definitely event-based programming
<gorgonical> and the linux kernel is definitely oop
<nikolar> Debatable
<heat> nope, not debatable
<gorgonical> I don't really agree. When you have context and methods that's oop
<Ermine> Since debate have ensued, it's clearly debatable
<nikolar> Lol there we go
<gorgonical> lol
<nikolar> qed
xenos1984 has joined #osdev
<heat> my point was that a poll loop is as far from Actual Event Based Programming as OOP-ish C is from actual OOP
<kof673> eh, subjective, objective, the two may agree, or may not.
<nikolar> There is not a single Actual Event Based Programming(tm) is my point
<heat> there's no single idea of it, but there's also no single idea of OOP
<heat> they all kind of converge and are also slightly different
<Ermine> Btw that vulkan triangle program from vulkan-tutorial (and, I guess, Khronos tutorial too) is more C-ish than C++-ish, but it takes some time to compile. But maybe because it uses vectors
<nikolar> Completely missing the point but sure let's go with that
<heat> yeah including C++ stdlib will kill your compile time
<gorgonical> I have played a little with zig's compile-time programming and I think that's a nice way of expressing it
<nikolar> So poll is as much Actual Event Based Programming(tm) as oop stuff is
<gorgonical> though I think for event-based programming what I've heard of erlang it seems pretty much indisputably the most suited for it
<nikolar> It was specifically designed for it, no?
<gorgonical> yeah
<Ermine> oh, another reason to rewrite it without glfw and c++ stdlib. Glfw is C though
<nikolar> What's wrong with glfw in this context
<Ermine> nothing, I just want to take a deeper look
<nikolar> Lol ok
<gorgonical> unrelated, but how many languages is everyone here proficient in? I take it for granted that english is the internet language but am aware that most of you aren't l1 english speakers I don't think
<heat> define proficient
<nikolar> what was l1 again
<gorgonical> l1 = mother tongue
<nikolar> oh yeah
<gorgonical> by proficient i mean you could probably get by in the country doing ordinary things. ordering food, interacting with businesses, stuff like that. No need to conduct business meetings or scientific lectures
<nikolar> i am fluent in 2 but learning one more
<gog> gorgonical: spanish and icelandic at that level
<nikolar> And studied another in school but couldn't tell you a thing in it
<gog> but i'm english native
<gorgonical> nikolar: do you count that your l1 masquerades as many languages
<nikolar> no, there's only one true south slavic language: serbian :P
<gorgonical> bosno-croato-serbo-montenegro-kosovan
<heat> i'm fluent in english and portuguese, and i can get by with spanish so.... 2.5? 2.7?
<nikolar> if you want to make a joke about kosovo, at least get your facts straight
<nikolar> heat: oh fractional languages, nice
<gorgonical> I assumed kosovan was a reasonable dialect name for it but the wikipedia page says they just call it serbian
<heat> floating point profiency mon
<gorgonical> my mistake
<gog> when my portugese coworker speaks spanish i understand her better than my boss and another coworker
<gog> but i'm psure they're speaking catalan together
<Ermine> from cv pov I need to take IETLS or TOEFL exam (and I think I can have C2 certificate if I approach it seriously), but................
<nikolar> gorgonical: well if there is going to an official language in kosovo other than serbian, it would be albanian
<heat> gog, spanish people fucking speedrun talking
<nikolar> that's what i was referring to lol
<gorgonical> indeed both are listed as official
<nikolar> what languages do you speak anyway gorgonical
<nikolar> since you started this
<Ermine> Also I'll learn Latin, Chinese and Japanese one day
<gorgonical> english native, german, and I have passing understanding of many others because it's a hobby of mine. I used to speak Japanese to a B2 level
<nikolar> Ermine: oh i want to learn latin too
<kof673> i am against "plain language law" so i get what is meant, but the premise is faulty IMO
<nikolar> gorgonical: serbian and english, studied german but can't really speak it, learning greek now
<Ermine> I've studied German in school
<gorgonical> To try and push my vocabulary up I've started reading novels in German recently (something I never managed well in Japanese) and it's quite comfortable
<nikolar> honestly, just never cared for german much
<gorgonical> Reading hemingway in german now lol
<nikolar> lol
<gorgonical> I read half the first volume of honzuki in Japanese and became deeply demoralized about the whole thing
<nikolar> why's that
<nikolar> you got to the half way point
<gorgonical> I had been studying for a long time and my interest waned somewhat after I learned all the 2000 "standard" kanji. But like you need to know many more than that to read any real fiction. The best I could do was slice of life mangas and I realized I just don't really like manga/anime enough to justify it as a long-term language
<nikolar> that's fair
<gorgonical> slice of life mangas and the news, actually
<gorgonical> yotsuba is very enjoyable in japanese though
<nikolar> do news get limited to the "standard" 2000 or something
<gorgonical> uh not necessarily limited but there is a definite style of speech in the news that means the vocabulary is pretty limited. by law (?) or at least by convention any kanji that's not in the standard 2000 has to have readings printed over top
<nikolar> so like using katakana/hiragana for it
<gorgonical> I feel like it's always hiragana but can't be entirely sure. I don't think I've ever seen katakana used as furiggana
<gorgonical> damn keyboard double-typing
<kof673> Ignoratis terminis ignoratur et ars. - Co. Litt. 2 a. Je sais que chaque science et chaque art a ses termes propres, inconnu au commun des hommes. - Fleury With References to the Civil and Other Systems of Foreign Law lol
<nikolar> gorgonical: honestly, no clue what's the difference in usage between hiragana and katakana
<nikolar> i assumed that they were pretty equal
<gorgonical> they are phonetically equal but have different contextual use. katakana is used for emphasis or on foreign words
<nikolar> (i know that they are equal phonetically, but that's where my knowledge stops)
carbonfiber has quit [Quit: Connection closed for inactivity]
thesock has joined #osdev
eddof13 has joined #osdev
bauen1 has joined #osdev
Left_Turn has joined #osdev
Turn_Left has joined #osdev
Arthuria has joined #osdev
Left_Turn has quit [Ping timeout: 244 seconds]
netbsduser has quit [Ping timeout: 255 seconds]
hl has quit [Quit: ZNC - https://znc.in]
hl has joined #osdev
eddof13 has quit [Quit: eddof13]
eddof13 has joined #osdev
Left_Turn has joined #osdev
<heat> how many kernals do i really have in stock
<heat> 1 2 3 4 5 plus 5
Burgundy has joined #osdev
Turn_Left has quit [Ping timeout: 244 seconds]
netbsduser has joined #osdev
eddof13 has quit [Quit: eddof13]
eddof13 has joined #osdev
eddof13 has quit [Client Quit]
vdamewood has joined #osdev
netbsduser has quit [Ping timeout: 252 seconds]
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 260 seconds]
eddof13 has joined #osdev
eddof13 has quit [Quit: eddof13]
eddof13 has joined #osdev
Turn_Left has quit [Read error: Connection reset by peer]
thesock has quit [Quit: Konversation terminated!]
Arthuria has quit [Ping timeout: 276 seconds]