<heat>
geist, ah okay so a "null pointer constant" can either be an int rvalue constexpr that evaluates to 0 (i.e #define NULL (1 - 1)) or a std::nullptr_t
<geist>
i guess so, yeah. dunno if C++ more strictly defines it
<heat>
yes, this is the C++ definition
<heat>
actually GCC doesn't seem to accept 1 - 1, so maybe it's literally just "0" as an expression
<geist>
hm, maybe 1-1 implies it's an integer
<geist>
but 0 itself doesn't yet have a type?
<geist>
what happens if you do something like 0UL or whatnot
<heat>
just works
<heat>
also fun fact: C++ posix:: is reserved to POSIX
<heat>
"An integer constant expression with the value 0, or such an expression cast to type void *, is called a null pointer constant."
<heat>
maybe a constant expression in this definition is literally just a constant
<heat>
(straight from ISO C, C++ doesn't seem to define this explicitly)
<zid>
C<=23 doesn't have a concept of const expressions really
<zid>
Just some handwaving that compilers can decide to do some math to figure out if an array dec is valid or not
<zid>
int a[17*4+2]; or whatever is compiler defined if it compiles
<moon-child>
I'm pretty sure it has a pretty expansive list of things that are guaranteed to be constants
<moon-child>
including 17*4+2
<moon-child>
though compilers are allowed to add on their own extras, yes
nyah has quit [Quit: leaving]
Matt|home has quit [Quit: Leaving]
[itchyjunk] has quit [Ping timeout: 250 seconds]
[itchyjunk] has joined #osdev
slidercrank has quit [Ping timeout: 268 seconds]
vin has joined #osdev
averymt has joined #osdev
elastic_dog has quit [Remote host closed the connection]
[itchyjunk] has quit [Read error: Connection reset by peer]
heat has quit [Ping timeout: 256 seconds]
eck has quit [Quit: PIRCH98:WIN 95/98/WIN NT:1.0 (build 1.0.1.1190)]
eck has joined #osdev
benwaffle has joined #osdev
<benwaffle>
Hi everyone. I've switched from Bare Bones x86 tutorial to using the Limine bootloader, but now I can't write text on the screen at 0xB8000. Anyone know why this happens or how to debug this?
<Mutabah>
It depends on how limine is booted, or how it reconfigures the system.
<Mutabah>
I believe it supports booting into a paged environment, so you need to account for that...
<Mutabah>
and if it's an EFI app, then the legacy VGA interface will likely not exist
<benwaffle>
I didn't request 5-level paging, not sure if it does anything by default though. It does load my kernel into the higher half, and long mode I think. I'm not booting via EFI, using legacy BIOS (qemu default).
<Mutabah>
Have you mapped the VGA text area such that you can write to it properly?
<benwaffle>
no, how would I do that?
<Mutabah>
Since you've enabled paging (by asking for a higher-half load), you now need to deal with paging.
<benwaffle>
So I need limine to map 0xB8000 into some virtual address?
<Mutabah>
Or, you need to write code that edits the page tables to do that mapping
<benwaffle>
ok, let me read the paging wiki page
osmten has joined #osdev
<dh`>
realistically you want to map the whole ISA hole or probably the whole low 1M
<zid>
disregard memory below 1MB it doesn't exist
<zid>
what are we, DOS
gog has quit [Ping timeout: 256 seconds]
<sham1>
You can't disregard it since you need it to boot your APs
<zid>
Disregard.
<benwaffle>
I think limine is setting the VBE to a graphical mode, I'd need to set it back to text mode, right?
<zid>
if it's graphical mode you would do yes
<zid>
might wanna just use the vbe, and log to serial instead of text mode console
<zid>
serial is like 4 outs to set up
<benwaffle>
good idea
<sham1>
Here's a nickel kid, go buy yourself a font renderer
<benwaffle>
Not sure it's even worth getting all this set up on BIOS, I should switch to UEFI
<Mutabah>
serial debugging and a graphical terminal are good ideas
<Mutabah>
You can fit a LOT more text on a graphical terminal (even at VGA resolution)
<benwaffle>
graphical terminal = render text myself to a framebuffer?
<Mutabah>
(640x480 w/ 8x16 characters is 80x30, while legacy text mode is 80x25)
<Mutabah>
Yep.
<zid>
you're not using the bios either way if you're using lumines
<Mutabah>
Bitmap fonts are pretty easy
bgs has joined #osdev
<sham1>
8x8 font glyphs fit snuggly to a uint64_t
<Mutabah>
That they do, although they're a little small
<zid>
oh wait nobody actually has that video mode do they :p
warlock has joined #osdev
goliath has joined #osdev
lav has quit [Ping timeout: 250 seconds]
sinvet has joined #osdev
lav has joined #osdev
bgs has quit [Remote host closed the connection]
awita has joined #osdev
osmten has quit [Ping timeout: 245 seconds]
nyah has joined #osdev
jjuran has quit [Ping timeout: 264 seconds]
jjuran has joined #osdev
jjuran has quit [Remote host closed the connection]
jjuran has joined #osdev
<klange>
Limine's titular boot protocol does not support handing control to the booted OS with VGA text mode.
<klange>
It supports it for mb1, mb2, and Linux boot protocols. For mb2 I even contributed support for forcing it; previously it would only do it as a fallback. And, in all those cases, of course, it only supports them under BIOS.
slidercrank has joined #osdev
<klange>
There is/was a built-in framebuffer console that acted as a sort of runtime service, but it's deprecated - anyone using it I think was recommended to grab the library that implements it and embed it in their kernel.
Burgundy has joined #osdev
GeDaMo has joined #osdev
Brain__ has joined #osdev
<ddevault>
I spent three miserable days getting an EFI stub to work with Hare on aarch64
<ddevault>
I got a reasonably pleasant EFI environment working in C using mingw in like 10 minutes
elastic_dog has quit [Read error: Connection reset by peer]
elastic_dog has joined #osdev
<ddevault>
(for x86_64)
<ddevault>
anyone know of any tools ala readelf to poke at PE/COFF objects
awita has quit [Ping timeout: 250 seconds]
<ddevault>
ah objcopy for mingw does reasonably okay
pkal has left #osdev [Killed buffer]
awita has joined #osdev
gog has joined #osdev
bauen1 has quit [Ping timeout: 248 seconds]
<Ermine>
Why mingw and not clang?
<Ermine>
And, I guess, now helios can be booted as EFI application?
<ddevault>
not exactly
<ddevault>
mingw because I'm using GNU toolchain for everything else, e.g. binutils
<ddevault>
helios has its own little boot protocol
<ddevault>
there is an EFI bootloader for aarch64 written in Hare, and a multiboot bootloader for x86_64 also written in Hare
<ddevault>
but Hare for x86_64 does not support PIC, so I'm now working on a new EFI bootloader for x86_64 in C
<ddevault>
(not in the mood to implement PIC for the x86_64 backend)
<ddevault>
helios itself is just an ELF binary whose entry point accepts a pointer to some environment details in the first ABI register, i.e. is not bullshit like every other boot protocol
<Ermine>
Ah, now I see, thank you for explanation!
Brnocrist has quit [Read error: Connection reset by peer]
osmten has joined #osdev
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
d5k has joined #osdev
d5k has quit [Client Quit]
<gog>
i might be a competent developer
<bnchs>
i may not be
Brnocrist has joined #osdev
<nikolar>
good for you gog
<gog>
i needed to intercept a cookie value for a few different pages and i didn't want to modify each action
<nikolar>
and not good for you bnchs
Brnocrist has quit [Read error: Connection reset by peer]
<gog>
so i found out that action filters stay in scope until the method is done
osmten has quit [Quit: Client closed]
<gog>
you can keep a property in them
<gog>
so now i just use the filter on all the actions that need to intercept the value
<gog>
no modifying the action code at all
<gog>
this is something we could make much better use of, especially with our edge caching
osmten has joined #osdev
<gog>
but this is #osdev not #aspnetcore
<nikolar>
lol ture
<nikolar>
true
<nikolar>
but that's neat
<gog>
the question is whether my boss is going to like it or not
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
<nikolar>
¯\_(ツ)_/¯
Ali_A has joined #osdev
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
Brnocrist has joined #osdev
goliath has quit [Remote host closed the connection]
goliath has joined #osdev
osmten has quit [Quit: Client closed]
Ali_A has quit [Quit: Client closed]
Brnocrist has quit [Read error: Connection reset by peer]
heat has joined #osdev
<heat>
gog, haf u tried nodejs
Brnocrist has joined #osdev
<heat>
its like aspnet but javascript and open source!!!1111!!!!111!!!!111
Brnocrist has quit [Read error: Connection reset by peer]
<sham1>
Except for the aspect where they are not similar, which is most of them
Brnocrist has joined #osdev
DanDan has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
awita has quit [Ping timeout: 260 seconds]
Brnocrist has joined #osdev
awita has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
[itchyjunk] has joined #osdev
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
<heat>
aha finally! found out what nd@arm.com means
<heat>
fun remark: I see you cc'ed nd@arm.com'; that's not a real person, it's what our IT folk asked us to add on cc so that the Exchange server doesn't append the legal disclaimer; most lists are covered already without such cc but I guess people feel safer to add it, just in case
<gog>
heat: we use node.js
Brnocrist has joined #osdev
<nikolar>
so it's a fake address to silence a bot
<heat>
yeah its to silence the shitty exchange server
<heat>
it's the best worst hack
<heat>
i think those legal disclaimers aren't even legally binding? just sillyness
Brnocrist has quit [Read error: Connection reset by peer]
<nikolar>
Lol
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
Brnocrist has joined #osdev
<gog>
it's like those boomer facebook posts saying that they don't have permission to use your data or smth
Brnocrist has quit [Read error: Connection reset by peer]
<gog>
but when you register in the T&C it says very clearly that use of facebook is implied consent for data use
<Ermine>
gog: may I pet you
<gog>
yes
* Ermine
pets gog
* gog
prr
Brnocrist has joined #osdev
xenos1984 has quit [Read error: Connection reset by peer]
<mrvn>
every time you see such a disclaimer just add an opposite disclaimer to your answer. "By accpeting this post FB agrees to share all their data with the sender."
Brnocrist has quit [Read error: Connection reset by peer]
antranigv has joined #osdev
ia64developer has joined #osdev
<ia64developer>
why do i see "err_needreggednick" in order to join the channel from Matrix?
<zid>
because we've got that channel mode set
<ia64developer>
And why is that?
Brnocrist has joined #osdev
<zid>
it stops drive-by shootings
Brnocrist has quit [Read error: Connection reset by peer]
<ia64developer>
For context, all of the other IRC channels I use dont have that channel mode. I'm sure theres a good reason, but just think its a little strange. Just my honest opinion, thats al
xenos1984 has joined #osdev
<ia64developer>
Especially since the channel is logged anyway
<zid>
A significant fraction of the people who join ##osdev are having a mental break and wish to talk about how the NSA has hidden code in their motherboard to download the radio stations out of their fillings
<ia64developer>
Oh ok that makes a lot more sense now
<gog>
it's not that many
<ia64developer>
Thanks for explaining
<gog>
it's more than one would expect
<mjg>
you mean significant number of nicknames
<gog>
(R.I.P. Terry)
<mjg>
not to be confused with number of peope;
<mjg>
people
<zid>
At least 10 people in the past couple years, some of which who ban evade heavily
<mjg>
10? solid
<mjg>
i thught liek 3
<zid>
In the 90s it used to be astromony professors
<zid>
they've moved to tech now
<mjg>
you are triggering me by mentioning academics
<ia64developer>
Which is better: Limine or Bootboot?
<zid>
better for what?
<ia64developer>
Just in general
<zid>
grub is better than both of them for being useful to me personally
<zid>
I've never heard of bootboot
<ia64developer>
I dont know much about them either. I just stick to grub
<gog>
uefi
goliath has quit [Quit: SIGSEGV]
<nortti>
surely, as an ia64 developer, you should use EFI
Brnocrist has joined #osdev
<zid>
I thought as an ia64 developer they'd use some giant bootloader by HP that needs 40 litres of petrol an hour
Brnocrist has quit [Read error: Connection reset by peer]
<zid>
more server hw should have pull starts
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
dude12312414 has joined #osdev
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
<bslsk05>
'Human Power Shower - Bang Goes The Theory - BBC One' by BBC (00:03:16)
Brnocrist has joined #osdev
<Ermine>
gog: if you stop, your work is gone
<gog>
nah i have battery
<gog>
i can pedal to charge the battery while i work
Brnocrist has quit [Read error: Connection reset by peer]
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
<heat>
<gog> it's like those boomer facebook posts saying that they don't have permission to use your data or smth <-- IMA SOVEREIGN CITIZEN
<lav>
gog: get a dogboy to run on a threadmill to power your puter
linearcannon_ has joined #osdev
<gog>
dogboy eh
linearcannon has quit [Ping timeout: 256 seconds]
bgs has joined #osdev
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
<kof123>
darn gubmint tracking me who do they think they are <voluntarily pulls out cellphone with gps> <voluntarily hops in car with gps> <voluntarily goes on fb and tells them all my likes> <voluntarily goes on twitter to tell everyone> ...
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
joe9 has joined #osdev
morgan has quit [Ping timeout: 240 seconds]
<nortti>
gps doesn't really require tracking tho, you can build a fully receive-only GPS system
<nortti>
you probably don't want to, my DMR radio takes a couple minutes to get a fix, but it's possible
<kof123>
thats good because i forgot to ask alexa
<ia64developer>
kof123: Alexa? I'm still on Samsung Bixby
linearcannon_ is now known as linearcannon
<heat>
bixby works about as well as ia64
goliath has joined #osdev
<ia64developer>
y'all are funny
awita has quit [Ping timeout: 248 seconds]
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
goliath has quit [Quit: SIGSEGV]
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
goliath has joined #osdev
bauen1 has quit [Ping timeout: 268 seconds]
just_testing11[m has joined #osdev
bauen1 has joined #osdev
just_testing11[m has left #osdev [#osdev]
xenos1984 has quit [Ping timeout: 265 seconds]
xenos1984 has joined #osdev
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
zxrom has joined #osdev
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
gog has quit [Quit: Konversation terminated!]
xenos1984 has quit [Ping timeout: 260 seconds]
Brnocrist has joined #osdev
bauen1 has quit [Ping timeout: 265 seconds]
Brnocrist has quit [Read error: Connection reset by peer]
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
<sham1>
Bixby? It's all about Sam now
xenos1984 has joined #osdev
Brnocrist has joined #osdev
Mutabah has quit [Ping timeout: 250 seconds]
Brnocrist has quit [Read error: Connection reset by peer]
gog has joined #osdev
<gog>
hi
<bnchs>
may i pet gog?
<gog>
yes
* bnchs
pets gog
* gog
prr
<bnchs>
how are you?
<sakasama>
May I be unpetted?
* bnchs
pets sakasama more
Brnocrist has joined #osdev
* sakasama
clicks and whirs.
<bnchs>
no unpetting
* sakasama
weeps mechanically.
<gog>
hi i'm well
<bnchs>
good
<gog>
i have to re-learn what little i know of reactjs from scratch because apparently everything needs to be functions now
Brnocrist has quit [Read error: Connection reset by peer]
* lav
throws a coin into gog
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
<gog>
:o
<gog>
toss a coin to your gogger, oh osdev of plenty
<heat>
🪙
<zid>
Top tip: strippers do *not* appreciate it if you try to fill their underwear with pound coins
<bnchs>
zid: is it british pound coins?
<bnchs>
or coins that literally weigh a pound
<lav>
gogger sounds like a british slur
<zid>
It is
<bnchs>
i would be sad if someone told me i lost pounds :(
<zid>
But then again, anything -er/-ed can be used as an insult, or to mean drunk
Brnocrist has joined #osdev
<gog>
poggers
<zid>
I drank so much last time, I'm still poggers the morning after
Brnocrist has quit [Read error: Connection reset by peer]
<zid>
s/time/night
<bnchs>
oooo
<bnchs>
did you get hungover
<bnchs>
reminder to replenish your electrolytes
<zid>
Completely poggered
bauen1 has joined #osdev
* sham1
fills Sid's computer with coins
<sham1>
Fuck
<sham1>
Autocorrect is dumb
<zid>
sham1: sick, ty
n0nesense has joined #osdev
morgan has joined #osdev
n0nesense has quit [Quit: issued !quit command]
frkazoid333 has joined #osdev
Turn_Left has joined #osdev
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
Left_Turn has quit [Ping timeout: 256 seconds]
goliath has quit [Quit: SIGSEGV]
awita has joined #osdev
awita has quit [Remote host closed the connection]
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
<zid>
help, nobody has pirated my novel chapter yet this week
<zid>
I am having withdrawl symptoms
<moon-child>
write fan fiction
<zid>
I don't know how
<nortti>
why do you want people to pirate chapters of your novel?
<zid>
It's up!
<FireFly>
linky?
<FireFly>
I mean uh
<zid>
'my' as in the royal my
<zid>
(as in, relating to me, rather than posessed by me)
<zid>
as in, 'my god'
<nortti>
>doesn't even possess their god
* moon-child
pets god
nyah has quit [Quit: leaving]
bgs has quit [Remote host closed the connection]
<zid>
I got my fix, need a nice 7 day coma now
* sakasama
possesses god.
* nortti
repossesses god
<zid>
stop trying to possess me
<sakasama>
Delusions of grandeur have surfaced again. :/
* averymt
repossesses god's car
mcrod has joined #osdev
* gog
prr
Burgundy has quit [Ping timeout: 256 seconds]
<zid>
we said god not gog
biblio has joined #osdev
<gog>
i don't understand the distinction
<bnchs>
they're 3 letter gap
<zid>
typical cat behavior
<heat>
gog, gazinga
<gog>
zanzibar
<heat>
nambia
<heat>
namibia
<heat>
sorry cant type its late
<heat>
oh wait nambia was a real fake country lol
gildasio has quit [Remote host closed the connection]
foudfou has quit [Remote host closed the connection]
gxt__ has quit [Remote host closed the connection]
gxt__ has joined #osdev
gildasio has joined #osdev
Mutabah has joined #osdev
Turn_Left has quit [Read error: Connection reset by peer]