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
eck has quit [Quit: PIRCH98:WIN 95/98/WIN NT:1.0 (build 1.0.1.1190)]
eck has joined #osdev
Ram-Z has joined #osdev
gog has quit [Read error: Connection reset by peer]
sikkiladho has quit [Quit: Connection closed for inactivity]
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
gildasio has quit [Remote host closed the connection]
Vercas6 has quit [Remote host closed the connection]
gxt___ has quit [Remote host closed the connection]
opal has quit [Remote host closed the connection]
gildasio has joined #osdev
gxt___ has joined #osdev
opal has joined #osdev
Vercas6 has joined #osdev
Vercas6 has quit [Quit: Ping timeout (120 seconds)]
nyah has quit [Ping timeout: 240 seconds]
Vercas6 has joined #osdev
dutch has joined #osdev
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
Vercas6 has quit [Quit: Ping timeout (120 seconds)]
Vercas6 has joined #osdev
darkstarx has quit [Remote host closed the connection]
darkstarx has joined #osdev
zaquest has quit [Remote host closed the connection]
zaquest has joined #osdev
orccoin has joined #osdev
opal has quit [Remote host closed the connection]
opal has joined #osdev
SGautam has joined #osdev
pretty_dumm_guy has quit [Quit: WeeChat 3.5]
[itchyjunk] has quit [Remote host closed the connection]
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
night_ has quit [Quit: goodbye]
night has joined #osdev
gxt___ has quit [Write error: Connection reset by peer]
Vercas6 has quit [Write error: Connection reset by peer]
gildasio has quit [Write error: Connection reset by peer]
Vercas6 has joined #osdev
gxt___ has joined #osdev
gildasio has joined #osdev
Vercas6 has quit [Remote host closed the connection]
Vercas6 has joined #osdev
darkstarx has quit [Remote host closed the connection]
gxt___ has quit [Ping timeout: 268 seconds]
darkstarx has joined #osdev
gxt___ has joined #osdev
darkstarx has quit [Ping timeout: 245 seconds]
SGautam has quit [Quit: Connection closed for inactivity]
poyking16 has joined #osdev
Vercas6 has quit [Quit: buh bye]
gxt___ has quit [Ping timeout: 268 seconds]
Vercas6 has joined #osdev
Vercas6 has quit [Client Quit]
Vercas6 has joined #osdev
Vercas6 has quit [Client Quit]
gxt___ has joined #osdev
Vercas6 has joined #osdev
Vercas6 has quit [Client Quit]
Vercas6 has joined #osdev
Vercas6 has quit [Client Quit]
Vercas6 has joined #osdev
Vercas6 has quit [Client Quit]
Vercas6 has joined #osdev
Vercas6 has quit [Client Quit]
Vercas6 has joined #osdev
xenos1984 has quit [Read error: Connection reset by peer]
darkstardevx has joined #osdev
darkstardevx has quit [Remote host closed the connection]
darkstardevx has joined #osdev
xenos1984 has joined #osdev
sikkiladho has joined #osdev
MiningMarsh has quit [Quit: ZNC 1.8.2 - https://znc.in]
MiningMarsh has joined #osdev
opal has quit [Remote host closed the connection]
Vercas6 has quit [Remote host closed the connection]
opal has joined #osdev
Vercas6 has joined #osdev
eroux has quit [Remote host closed the connection]
eroux has joined #osdev
torresjrjr has quit [Remote host closed the connection]
torresjrjr has joined #osdev
orccoin has quit [Ping timeout: 268 seconds]
the_lanetly_052 has joined #osdev
bauen1 has quit [Ping timeout: 240 seconds]
GeDaMo has joined #osdev
bauen1 has joined #osdev
sikkiladho has quit [Quit: Connection closed for inactivity]
lkurusa has joined #osdev
scaleww has joined #osdev
wereii has joined #osdev
lkurusa has quit [Quit: I probably fell asleep (or went out). Who will ever know.]
socksonme_ has joined #osdev
wereii_ has quit [Quit: ZNC - https://znc.in]
wereii has quit [Quit: ZNC - https://znc.in]
wereii has joined #osdev
gildasio has quit [Remote host closed the connection]
opal has quit [Remote host closed the connection]
opal has joined #osdev
gildasio has joined #osdev
wereii has quit [Quit: ZNC - https://znc.in]
wereii has joined #osdev
wereii has quit [Quit: ZNC - https://znc.in]
wereii has joined #osdev
Test_User has joined #osdev
lkurusa has joined #osdev
\Test_User has quit [Killed (NickServ (GHOST command used by Test_User))]
Test_User is now known as \Test_User
wereii has quit [Quit: ZNC - https://znc.in]
wereii has joined #osdev
wereii has quit [Quit: ZNC - https://znc.in]
wereii has joined #osdev
dutch has quit [Quit: WeeChat 3.0]
kof123 has joined #osdev
SpikeHeron has joined #osdev
opal has quit [Ping timeout: 268 seconds]
heat has joined #osdev
<heat> has anyone played with C++20 coroutines in a kernel?
opal has joined #osdev
gog has joined #osdev
socksonme_ has quit [Remote host closed the connection]
socksonme_ has joined #osdev
scaleww has quit [Read error: Connection reset by peer]
vin has joined #osdev
<vin> Are there any active open source OS projects that is designed to take advantage of CXL?
<heat> designed? probably not
<heat> but I guess linux has support for it probably
gildasio has quit [Remote host closed the connection]
sbalmos is now known as [NAME]
<gog> CXL?
<gog> ohhh
<gog> new system interconnect
<gog> does software even care about that?
<gog> seems lower level
<heat> yes
<heat> linux has a lot of code for crap of that sort
<heat> infiniband, etc
poyking16 has quit [Ping timeout: 268 seconds]
<gog> hmm
<heat> how are you gog
<heat> long time very few see
<zid> That's because we all avoid you heat
<gog> stressed about my future with this job hbu
<zid> we just slipped today
<heat> fuk u man
<zid> we might catch javascript
<gog> zid be nice to heat
<zid> I am being nice
* gog protecc
<heat> i'm stressed because of the hiring freezes everyone is going through
<heat> atacc
<gog> atacc would be a good name for a c compiler
<gog> i was supposed to have the day off
<gog> but i agreed to work half the day like a chump
<heat> that really is a chump move
<gog> ikr
<heat> thinking that maybe I should go for an internship in fuck-off-land next summer
<heat> just for the fun of it
<heat> and for the sweet sweet embrace of doing kernel work
<zid> iceland?
<heat> hmmmmmmmmmm
<heat> no
<vin> crap? I feel CXL will become a dominant interface in coming days heat
<zid> I can't think of any other fuck-off-lands
<j`ey> usa?
<gog> the UK
<heat> the US, the UK, norway, denmark
<heat> sweden? but there's not much shit in sweden
<heat> technically germany? but ugh
<zid> it still amazes me people would consider moving to the US
<gog> Danmörk
<zid> more and more each day
gxt___ has quit [Write error: Connection reset by peer]
Vercas6 has quit [Write error: Connection reset by peer]
<gog> same
<heat> yeah but erm
<heat> nice pay and you get to do what you love
<zid> I guess if you're a cis white male person
Vercas6 has joined #osdev
<zid> you at least benefit from the fact it's turning into a theocratic ethnostate as fast as possible
<heat> i'm a part of the most endangered species
<heat> cis white male gamer
<zid> oh no
<zid> however will you manage!?
<zid> I'm a WPSP
<heat> a white playstation portable?
<zid> white poor saxon protestant
<zid> usually it's WASP, affulent
gxt___ has joined #osdev
<heat> you're a saxon? damn
<gog> hwæt
xenos1984 has quit [Read error: Connection reset by peer]
<zid> I'm in the danelaw rn
<zid> so who knows
<heat> err
<heat> that's in denmark zid
<heat> smh
<zid> til I'm danish
<gog> imagine being danisj
<zid> we should let london know
<gog> what a horrible existence
<zid> is there going to be a handing over ceremony?
<zid> cambridge and london swearing fealty to the king of denmark
<heat> she's also german
<zid> bloody germans always playing the long game
<vdamewood> Do I count as Norwegian?
<zid> you'd admit to being norwegian?
gildasio has joined #osdev
<vdamewood> Well, really I'm USian... but my great grandfather (or twice great grandfather) was from Norwegia.
<zid> oh if you're american you're supposed to claim any heritage anyone you've ever met is your own
<vdamewood> I'm 1/64 human.
<zid> that's also typical for an american
<zid> the rest is spray cheese and racism
<vdamewood> I'll take the spray cheese. I have no use for racism.
* vdamewood puts spray cheese on a Jaffa Cake.
* zid gags
<gog> basically everywhere north of the tropics has a high degree of racism
<gog> so the US isn't exactly unique
<vdamewood> gog: Don't forget the places below the tropics, too.
<gog> yes
* vdamewood doesn't forget the fishy.
* vdamewood gives gog a fishy without spray cheese
* gog puts spray cheese on the fishy
* vdamewood eats his cheesy Jaffa Cake
<vdamewood> I still haven't had one of those, yet.
xenos1984 has joined #osdev
opal has quit [Ping timeout: 268 seconds]
<gog> 2.5 hours left in my workday wheee
<heat> wheeeeeeeeee
<heat> what do you do
nyah has joined #osdev
<GeDaMo> Professional clockwatcher :P
opal has joined #osdev
<gog> yes
<gog> customer service on a dead contract
<gog> front line tech support
<gog> I'll be moving up to dev starting next month
<gog> but if i don't have a new contract tomorrow idk
<gog> ope, new volcano just dropped
<zid> hot new icelandic diss track
orccoin has joined #osdev
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
poyking16 has joined #osdev
<vdamewood> The latest from Wreck-Ya Vic
<gog> look
<gog> lool
knusbaum has joined #osdev
<heat> lool
knusbaum has quit [Ping timeout: 252 seconds]
knusbaum has joined #osdev
opal has quit [Ping timeout: 268 seconds]
<mjg> gog: make sure to promise fixes next week
<gog> yes
lkurusa has quit [Quit: I probably fell asleep (or went out). Who will ever know.]
lkurusa has joined #osdev
opal has joined #osdev
<mjg> funny story from $certain_workplace
<mjg> support would be notorious for bullshitting customers
<mjg> and most of them did not know nay better
<mjg> but there was one specific guy who really knew his stuff
<mjg> and there was a note to pass him to $competent_person because he is going to call you out
<gog> lol
<gog> nice
wootehfoot has joined #osdev
lkurusa has quit [Ping timeout: 252 seconds]
liz has joined #osdev
<bslsk05> ​insiderpaper.com: Iceland volcano erupts near capital - Insider Paper
<heat> not my fault
<heat> i promise
<vdamewood> pyzozord: Sorry. I've been farting a lot recently.
<vdamewood> oops
<vdamewood> tabbed someone's name in another channel, and forgot to delete it when I switched.
<gog> yeh nýa eldgos droppað
<vdamewood> Excuse me.
<heat> rgsge waw rtrya
<gog> that is not what it looks like
<gog> i can see mt keilir from my office and there's only a bit of haze
orccoin has quit [Ping timeout: 268 seconds]
<poyking16> there is
<poyking16> there is a wierd problem with the code I wrote two seemingly identical operations have different results https://gist.github.com/poyking/dd4d33644a1044da15bbf29289df09d8 the lines that have the problem are marked
<bslsk05> ​gist.github.com: a strange problem · GitHub
<poyking16> there are probably more problems with my code
<mrvn> for a start your bitfield is wrong
<poyking16> in what way
<mrvn> it's 14 bytes long
<mrvn> also maybe update to C99. use uint64_t
<poyking16> I use C11 and the those u16 types are custom
<mrvn> replace your #define with static inline functions
<zid> so what's the actuall. problem?
<poyking16> there are lines marked with problem
<poyking16> in paging_kinit
<mrvn> You marked one way. What's the other way that's identical?
<zid> This is a huge mess that would probably take me hours to understand
<zid> easier to use a debugger
<mrvn> never mind.
<poyking16> I used a debugger and tmp0 and tmp1 are different values
<zid> okay, so find out why, and which assumption you had has been violated
<gog> yeh i can't grok it rn
<gog> for one I can't see the layout of pagingCtx
<poyking16> I will give the header file
<mrvn> what is the asm generated for the lines?
<mrvn> You should use different structs for physical and virtual addresses
<zid> To be honest though, fixing this probably isn't worth it. Treat this as a first draft, delete it and try write it better.
<gog> I'm gonna be gone in about 20 mins im gonna go grill hot dogs over the new volcano
<mrvn> How are you doing pointer arithmatic on void*?
<poyking16> I think I will just rewrite it
<mrvn> You should use " " around arithmetic operators sdo they aren't confused with ->
<zid> https://github.com/zid/bootstrap/blob/master/src/mem.c That's the basic ass allocator I use to bootstrap more complicated stuff if it helps
<bslsk05> ​github.com: bootstrap/mem.c at master · zid/bootstrap · GitHub
<mrvn> zid: I have a bunch of pages in .bss that I initialize the memory pool with and then parse the memory map.
<mrvn> poyking16: what compiler are you using that the code compiles at all?
<poyking16> clang
<gog> you can do pointer arithmetic on void* as a gcc extension
<gog> it's not a great idea tho
<gog> gcc implicitly does it as char*
<gog> but that's still bad because size of void is not 1
<zid> C99 on the streets, gnu99 in the sheets
<gog> it's undefined
<mrvn> ahh, you don't name the struct "PACKED" but that is some secret define for __attribute__ (("packed"))
<zid> void * arith is *very* helpful for reverse engineering decompilation and that's about it :P
<poyking16> I was just trying to write a temporary solution that I could then rewrite in a better way later
<poyking16> yes PACKED is a define in another hader for __attribute__((packed))
<mrvn> you never want to use packed
<poyking16> why
<gog> IDB
<mrvn> it generates slow code
<poyking16> some of the structures have to be packed such as the paging structures and the structure that converts between virtual addreses and indexes into the paging structures
<mrvn> You should only use it to read file data and then unpack it or pack it wand write file data. In which case you can just memcpy into a buffer directly.
<mrvn> poyking16: they don't.
<mrvn> Case in point: level4_addr should be using uint64_t. No packed needed.
<poyking16> level4_addr is used to get the indexes for the paging structures
<gog> you can do bit twiddling to get that
<poyking16> it makes it more readable
<gog> it makes what's happening more opaque
<gog> and implemention defined
<gog> more readable symbolically but more inscrutable operationally
<mrvn> Last I compared it (gcc-8) it using bit shifts + mask also generated better code.
<j`ey> poyking16: get used to reading bit masking code :P
<gog> bit twiddling is good actually
<gog> hiding it behind compiler magic doesn't mean it's not there
<mrvn> poyking16: you can use bitfields as long as you keep in mind that they are implementation defined. You might have to reverse the order of fields depending on the compiler.
<poyking16> I didnt know that the order depends on the compiler
<mrvn> Does latest C have [[gnu::packed]]?
<poyking16> I dont think so at least upto C11
<mrvn> poyking16: your 2 codes do something completely different
<mrvn> ctx->level4+ctx->koffset
<mrvn> PML4E *level4;
<mrvn> + on void* and PML4E* are not the same.
<moon-child> mrvn: fine to use packed if doing your own alignment
<moon-child> not because 'smaller is better!' but that's a strawman to begin with
<zid> OS code *is* one of the few places you can use packed, but this isn't a struct
<zid> it's a u64 where some of the bits can be interpreted with a different meaning
<mrvn> moon-child: no. packed means the compiler might have to read/write everything as bytes.
<zid> moon-child: Didn't we figure out that gcc is fucking useless with bitfields in ##asm the other day?
elastic_dog has quit [Ping timeout: 272 seconds]
<zid> and it doesn't understand that OR and xor etc don't change the other members
<zid> so it flushes the entire thing
<mrvn> zid: gcc-8 is horrible with it. not sure if that has changed
<mrvn> moon-child: On ARM gcc by default assumes the CPU doesn't do unaligned read/write so you do get byte read/write for anything packed. Clang assumes the cpu is set to allow unaligned access and bombs when your kerenel doesn't set the control bit
<poyking16> I will rewrite the code and hopefully there wont be many problems
<mrvn> And forget about taking the address of members of a packed struct.
<mrvn> poyking16: remove all the packed and define your bitefields using uint64_t.
pretty_dumm_guy has joined #osdev
<mrvn> poyking16: and you should use uintptr_t when doing arithmatic on addresses
elastic_dog has joined #osdev
<mrvn> asm volatile("mov %0, %%rax;" "mov %%rax, %%cr3;" : : "r"(ctx->level4) : "%eax"); why do you trash rax?
<poyking16> you can only move a register into cr4
<poyking16> cr3
<mrvn> %0 is a register, you used "r"
<mrvn> And if you want the a register then use "a"
<poyking16> I am not to good with C inline assembly
<mrvn> you might also want to add "memory" because changing the page table changes everything
<mrvn> don't want to write registers to memory, call paging_update to change address spaces and read register back from different memory and have the compiler optimize that out thinking you read the same memory.
<mrvn> poyking16: Do you understad now why lines 60 and 61 are different?
<zid> technically it's gcc inline assembly, it's not part of C at all
<poyking16> what bootloader do you recomend
<mrvn> anything that supports multiboot
<poyking16> Is limine a good choise
<mrvn> never head of it so probably not
gog has quit [Read error: Connection reset by peer]
<mrvn> heard
<zid> grub, ofc
<poyking16> it boots your kernel into 64 bit mode and maps it to the higher half
<zid> sounds annoying tbh
<zid> because then you don't get to control your initial page tables
<poyking16> Yes, that is why my code was somewhat messy
<poyking16> I might try to write a 32 bit kernel before trying to port it to 64 bits
<poyking16> but I got stuck trying to map the kernel to the higher half in assembly
<poyking16> as I do not have much experience programming an assembly
<zid> I do it in C using a weird split bootloader and kernel setup I launch via grub modules
<poyking16> in
<zid> that was what the repo I did earlier demonstrates
<zid> it builds boot.bin and kernel.bin then makes grub boot.bin and it sets up 64bit paging and runs kernel.bin
<poyking16> I think I might try that
<mrvn> poyking16: getting into 64bit mode is a bit harder but after that 64bit is much better
<poyking16> should I try and write a 32 bit kernel and then port it to 64 bits
<mrvn> no
<poyking16> should I write a 32 bit kernel at all
<mrvn> only if you have systems that don't do 64bit.
<zid> 32bit kernels are kinda of annoying
<mrvn> which for x86_64 is pretty certaionly a no.
<zid> especially for x86
<zid> 64bit is less limiting and also the interfaces are simpler
<zid> long mode just basically says "If in long mode, set all these fields to 0" in a lots of places
<poyking16> like in segmentation
<zid> and tss and some other stuff, yea
nyah has quit [Quit: leaving]
<mrvn> Long mode also gives you a much more modern baseline that all cpus must have, like SSE. With x86 (32bit) where do you draw the line what you support? 386? 486? 586? cpus with cmov?
<poyking16> I will write a multiboot 64 bit kernel then and hope it works
<mrvn> Only CPUs with pae?
<poyking16> I will probably get stuck on paging again
nyah has joined #osdev
<mrvn> poyking16: have you tried the barebones example in the wiki?
<zid> I did a few drafts myself
<poyking16> as I understand the theory and how the cpu interprets the structures but actually implementing it is quit difficult as you need to find virtual memory to store the structures and without paging enabled using your custom maps accessing and storing the data becomes quite difficult
<zid> and I still don't like my allocator, but it works
<zid> it's fairly mind bending yea, full of catch-22s
<mrvn> poyking16: 32bit or 64bit paging is fundamentally the same. It's just the bits that differ a bit.
<mrvn> poyking16: page tables are a prefix (radix) tree with 9bit index per level. Draw it out as a tree for a few examples and any time you get confused draw it out. When you visualize it it really becomes easy.
<zid> x86 is gross because it's hard to use, amd64 is gross because it's hard to boot :P
<mrvn> ARM/ARM64 is gross because it's hard to "hello, world"
<poyking16> I understand the way paing works but its mostly the actual creation of the structures on 64 bit
<heat> everything is fucking gross
<heat> go to riscv
<heat> it's less gross
<mrvn> riscv is gross because it's hard to buy
<heat> but srsly though riscv64 is a good choice for a first arch
<heat> really simple
<poyking16> Maby it will be easier if I use grub and create the initial tables myself and are therefore able to control exactly where everything is placed in memory
<heat> assembly is tough to write though, but so it goes in the risc world
<poyking16> possibly making the initial mapping easier
<heat> I've reached a point where I use C to write all that early boot/early page table code
<heat> I feel reasonably confident that I won't fuck up
<heat> I don't recommend it to newbs for that reason
<zid> fuck writing it in assembly though
<mrvn> I write that stuff in C, compile it to asm, cross check and twiddle the asm a bit and then use that.
<mrvn> Needs a bit of fix up to be totally position independent if I want to boot on different ARM devices.
<heat> I use super simple C without globals and whatnot
<heat> sometimes, a function call
<heat> but rarely
<mrvn> poyking16: you might consider using C++. You can write your page tables in C++ using only constexpr/consteval and constinit the initial page tables so they land in .data as premade structures.
<mrvn> heat: a function call needs a stack though
<heat> you can get a stack
<heat> in fact, you already have one if you're calling into C
<mrvn> or you get lucky and it gets inlined and you don't need one before you go virtual.
<heat> the entry point should be in asm
<poyking16> I once tried to write a kernel using C++ but C++ has some fustrating elements that caused me to use C instead as the C++ kernel was extremly badly written
<mrvn> poyking16: use freestanding, no rtti, no exceptions.
<zid> That's normal for C++ software
<mrvn> poyking16: with those 3 things you basically get a better C without the frustating things that are hard to set up initially.
<poyking16> I prefer C as it is simple and C++ is more fustrating as it has a stronger typing system
<zid> It wishes
<zid> also, I wish C's were stronger
<Griwes> C is simple, which leads to more complex code, don't @ me
<poyking16> simplicity creates more readable code in most cases
<zid> you weren't allowed to argue
<zid> he knows he's wrong :P
<Griwes> Simplicity of the code, yes. Simplicity of the tool means your code needs to be more complex to achieve more complex goals.
<Griwes> Oh, I'm right, I just said not to @ me :P
<zid> oh if that's how it works
<zid> Griwes is wrong don't @ me
<zid> QED.
<Griwes> Wow, zid @'d me, something I expressly asked y'all not to do :p
<zid> I did not.
<mrvn> poyking16: with the exception of some keywords (like new) and pathological cases you can just compile your C code in C++. The stronger types are a plus and prevent errors. Like your pointer arithmatic not doing what you though it did.
<mrvn> RAII is a huge benefit too
<mrvn> Making a type safe List or other container in C is possible but oh so ugly to implement. Or writing something as simple as `max(a, b)`. A few limited uses of template makes a huge difference.
<poyking16> I will probaby use C++ then
<poyking16> but mostly for the templates
<poyking16> as templates I agree are a very useful
SpikeHeron has quit [Quit: WeeChat 3.0]
<poyking16> for generic containers
<poyking16> make
<poyking16> wrong terminal
lanodan has quit [Ping timeout: 244 seconds]
lanodan has joined #osdev
the_lanetly_052 has quit [Ping timeout: 268 seconds]
SpikeHeron has joined #osdev
eck has quit [Quit: PIRCH98:WIN 95/98/WIN NT:1.0 (build 1.0.1.1190)]
eck has joined #osdev
eck has quit [Client Quit]
eck has joined #osdev
<mrvn> Learn something new every day: shared_ptr<void> p(new Foo());
<mrvn> Yes, that works and is perfeclty sane.
<mrvn> and does the right thing
wootehfoot has quit [Ping timeout: 252 seconds]
eck has quit [Quit: PIRCH98:WIN 95/98/WIN NT:1.0 (build 1.0.1.1190)]
eck has joined #osdev
<Griwes> mrvn, not nearly as fun as the aliasing constructor ;>
poyking16 has quit [Quit: WeeChat 3.6]
<kof123> pirch...now there's a name i havent heard in a long time
vdamewood has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
gog has joined #osdev
dude12312414 has joined #osdev
<PapaFrog> BitchX just for the name!
heat has quit [Read error: Connection reset by peer]
heat has joined #osdev
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
liz has quit [Ping timeout: 252 seconds]
dh` has quit [Quit: bbl]
opal has quit [Ping timeout: 268 seconds]
GeDaMo has quit [Quit: A program is just a bunch of functions in a trenchcoat.]
opal has joined #osdev
<[NAME]> mIRC. Bare. With no script packages.
kof123 has quit [Ping timeout: 268 seconds]
heat has quit [Read error: Connection reset by peer]
heat has joined #osdev
rwb has joined #osdev
rwb has quit [Client Quit]
rwb has joined #osdev
socksonme_ has quit [Ping timeout: 245 seconds]
[NAME] is now known as sbalmos
dh` has joined #osdev
opal has quit [Remote host closed the connection]
opal has joined #osdev
wootehfoot has joined #osdev
wootehfoot has quit [Remote host closed the connection]
<heat> i need a poll
<heat> S3 support or more arm64 bringup
<heat> your choice developers of the operating systems
<j`ey> I voted
rwb is now known as rb
<Bitweasil> arm64!
<Bitweasil> Who cares about suspend? :D
<Bitweasil> ... actually, me, but only about a quarter of my stuff will actually suspend/resume properly.
<Bitweasil> ARM doesn't (but idle power is low enough I don't care), my house desktop (Intel) has stopped suspending for some reason, Qubes just won't do it reliably on any of my hardware. I guess some of my AMD compute boxes suspend...
<Bitweasil> Oh, and my PineBook Pro is actually pretty good at it!
<heat> j`ey, sorry, I'm not rewriting my OS into arm64-only rust
<j`ey> heat: lame. then my vote is arm64 bringup
<heat> now im kinda wondering
<heat> does arm64 do S3?
<heat> how does that work
<heat> like SBBR platforms
<Bitweasil> It's not S3, really.
<Bitweasil> It's typically something through uboot.
<heat> but SBBR platforms require ACPI
<Bitweasil> And I believe the details are *exceedingly* platform specific.
<heat> thus, S3
<heat> in fact, ACPI and UEFI
<Bitweasil> Oh, hm. Not familiar with anything that fancy, then.
<heat> oh yeah, something cool I found out about today
<heat> cc j`ey
<heat> arm is doing the work
<heat> even if the mechanism is super convoluted
<j`ey> so it's some kinda cut down uefi?
<heat> yeah
<Bitweasil> I don't see why it would be cut down, UEFI is platform agnostic enough.
<heat> because a lot of things are superfluous
<Bitweasil> Can't argue there, though.
<bslsk05> ​arm-software.github.io: Embedded Base Boot Requirements (EBBR) Specification v2.0.1-8-gc90b128 documentation
<Bitweasil> Oh hey, actually got the PDF to load.
<heat> it seems that arm really is pushing for UEFI everywhere
<heat> hence why uboot has uefi support these days as well
<heat> something interesting is that ebbr doesn't mandate acpi nor dt
<heat> sbbr mandates ACPI
srjek has joined #osdev
<heat> also for some reason they also specify riscv details
<heat> I think RISCV is working in tandem with ARM
<heat> but yeah, UEFI everywhere baby
h4zel has joined #osdev
arch_angel has quit [Ping timeout: 240 seconds]
h4zel has quit [Ping timeout: 240 seconds]
<brynet> OpenBSD recently got some initial support for suspend/resume on arm64, apparently a huge problem is actually finding a machine that has an actual wake mechanism, e.g: some kind of button.
<bslsk05> ​freshbsd.org: OpenBSD / src / gsyf1dI9NzwgauHr - FreshBSD
<heat> brynet, does qemu not work?
<heat> qemu, at least on x86, does support suspend
<heat> although it immediately resumes after suspending
<brynet> no idea, but this kind of stuff is typically not developed in emulators
<j`ey> it uses PSCI, so i think you can use qemu+trusted firmware
<heat> well, of course, but it's nice to prototype there
<heat> debugging suspend/resume in real hardware must be a bitch
<zid> "yep, it's still suspended, good work lads"
<heat> great power saving
pretty_dumm_guy has quit [Quit: WeeChat 3.5]
heat has quit [Read error: Connection reset by peer]
heat has joined #osdev
Starfoxxes has quit [Ping timeout: 255 seconds]