thinkpol has quit [Remote host closed the connection]
thinkpol has joined #osdev
svm is now known as msv
eddof13 has joined #osdev
eddof13 has quit [Client Quit]
simjnd has joined #osdev
surabax has quit [Quit: Leaving]
simjnd has quit [Ping timeout: 268 seconds]
vdamewood has joined #osdev
simjnd has joined #osdev
simjnd has quit [Ping timeout: 276 seconds]
pabs3 has quit [Read error: Connection reset by peer]
pabs3 has joined #osdev
Matt|home has quit [Quit: Matt|home]
simjnd has joined #osdev
fedaykin has quit [Quit: leaving]
arminweigl_ has joined #osdev
arminweigl has quit [Ping timeout: 252 seconds]
arminweigl_ is now known as arminweigl
goliath has quit [Quit: SIGSEGV]
stolen has joined #osdev
fedaykin has joined #osdev
vdamewood has quit [Quit: Life beckons]
Matt|home has joined #osdev
marr-ales-fios has joined #osdev
Matt|home has left #osdev [#osdev]
pabs3 has quit [Read error: Connection reset by peer]
pabs3 has joined #osdev
Yoofie646446388 has joined #osdev
Yoofie646446384 has joined #osdev
Yoofie64644638 has quit [Ping timeout: 252 seconds]
Yoofie646446384 is now known as Yoofie64644638
Yoofie646446388 has quit [Ping timeout: 248 seconds]
marr-ales-fios has quit [Remote host closed the connection]
simjnd has quit [Ping timeout: 245 seconds]
marr-ales-fios has joined #osdev
marr-ales-fios has quit [Quit: Konversation terminated!]
kwilczynski has quit []
simjnd has joined #osdev
simjnd has quit [Ping timeout: 260 seconds]
xvmt has quit [Remote host closed the connection]
xvmt has joined #osdev
osdev199 has joined #osdev
<osdev199>
Hi, I am creating a 64-bit x86-64 kernel. What do I need to do first to start implementing paging?
Gooberpatrol_66 has quit [Remote host closed the connection]
Gooberpatrol_66 has joined #osdev
amadaluzia has joined #osdev
<geist>
well, you already have it since you're in 64bit right?
xenos1984 has quit [Read error: Connection reset by peer]
<geist>
but it must be identity mapped already or you wouldn't be running code
<geist>
the first thing to do is try to understand how paging works and what you might do with it
xenos1984 has joined #osdev
<geist>
since it's a hardware feature that is a means to an end
<geist>
you need to know what the end is
<osdev199>
I have understood how paging works and what I might do with it. I have also learned about the page-map tables formats. Now I don't know what to do next to start hacking?
marr-ales-fios has joined #osdev
marr-ales-fios has quit [Client Quit]
marr-ales-fios has joined #osdev
marr-ales-fios has quit [Remote host closed the connection]
marr-ales-fios has joined #osdev
<geist>
what do you want to do?
<geist>
you're sort of asking the wrong question
<osdev199>
I have attached my kernel binary to the same UEFI loader image (the `BOOTx64.EFI` file). The simplest thing I want to do is identity page the EfiLoaderCode and EfiLoaderData memory regions.
simjnd has joined #osdev
<geist>
then use your knowledge of the page tables to build an identity map of those regions
<osdev199>
I'm sorry I'm a beginner in osdev. I just don't know why should I identity map those regions. I read about it somewhere before.
<geist>
ah, i see
<geist>
alas i can't help you right now, but i think you need to start somewhat simpler
<geist>
dealing with UEFI is a pretty advanced topic
<geist>
also i don really know what yo umean by 'i have attached my kernel binary to the same UEFI loader image'
<geist>
like what you do mean 'attach'?
<osdev199>
I have already implemented the Physical Memory Manager using the free stack data structure.
simjnd has quit [Ping timeout: 272 seconds]
<geist>
okay
<osdev199>
Ah, from 'attach', I mean both the kernel and the bootloader are in the same file - BOOTx64.EFI.
<geist>
so you're getting booted
<geist>
in that case you can do what you want with the paging unit
<geist>
but this gets to be very advanced in that you need to decide how you want to map the kernel into virtual memory
<geist>
andt hen work backwards from that and use the paging unit to do it
<geist>
but coming out of UEFI, it's already identity mapped (for x86-64 at least) since you cannot run in 64bit mode without the paging unit working. UEFI sets it up for you
<osdev199>
" you need to decide how you want to map the kernel into virtual memory" - that I want to know! The 32-bit tutorials and books are old.
<geist>
well there's no one solution
<geist>
generally speaking most kernels map thsemvesl to a 'high' address, above 0xfffff.....
<geist>
but they dont have to, there's no one solution
<osdev199>
Is it the same as high-half kernel?
<geist>
yes
<geist>
it's just the high half is much higher in 64bit mode
<osdev199>
Yea. So I am stuck in the design problem. How can I solve this? I want to keep my kernel simple
<geist>
you dont have to map it in the higher half. you can keep it mapped where it was loaded if you want
<geist>
but then there's some relocation issues and whatnot to deal with
marr-ales-fios has quit [Quit: Konversation terminated!]
<geist>
though uefi probablyalready relocated it for you
<osdev199>
Sorry, what is relocation and the relocation issue?
<geist>
sorry alas i need to go to bed. it's late here, but maybe someone else will help
<osdev199>
No problem. Thanks for the help :)
marr-ales-fios has joined #osdev
marr-ales-fios has quit [Quit: Konversation terminated!]
marr-ales-fios has joined #osdev
Lucretia has joined #osdev
marr-ales-fios has quit [Quit: Konversation terminated!]
simjnd has joined #osdev
simjnd has quit [Ping timeout: 276 seconds]
stolen has quit [Quit: Connection closed for inactivity]
simjnd has joined #osdev
simjnd has quit [Ping timeout: 245 seconds]
GeDaMo has joined #osdev
simjnd has joined #osdev
simjnd has quit [Ping timeout: 248 seconds]
<heat>
geist: help vampire btw
<heat>
(which is why i didnt bother)
simjnd has joined #osdev
simjnd has quit [Ping timeout: 260 seconds]
netbsduser`` has joined #osdev
Left_Turn has joined #osdev
osdev199 has quit [Ping timeout: 276 seconds]
sortie has quit [Remote host closed the connection]
sortie has joined #osdev
simjnd has joined #osdev
craigo has quit [Quit: Leaving]
Turn_Left has joined #osdev
netbsduser`` has quit [Ping timeout: 272 seconds]
Left_Turn has quit [Ping timeout: 260 seconds]
<zid>
heat: how i mine 4 fish?
<nikolar>
you put a mine in the pond, duh
arminweigl_ has joined #osdev
arminweigl has quit [Ping timeout: 248 seconds]
arminweigl_ is now known as arminweigl
arminweigl has quit [Ping timeout: 248 seconds]
arminweigl has joined #osdev
goliath has joined #osdev
surabax has joined #osdev
HD36079 has joined #osdev
<kof673>
"it's coming right for us!" <throws grenade/fires rocket launcher/etc. into lake to get around restrictions on hunting, fish fly up into the air> </old south park>
arminweigl_ has joined #osdev
<izabera>
if i pass 0 as a handle to dlsym
<izabera>
is that supposed to behave the same as if i had passed rtld_default?
arminweigl has quit [Ping timeout: 245 seconds]
arminweigl_ is now known as arminweigl
<izabera>
on linux rtld_default is 0 but on freebsd it's not and it does its own special thing that's different in that case
netbsduser`` has joined #osdev
<zid>
I don't think the values of those defines are supposed to be portable?
<izabera>
i was just super surprised that 0 didn't work
<nikolar>
don't be
<nikolar>
unless it's explicitely documented that you can rely on the values
marr-ales-fios has joined #osdev
<kof673>
> The dlsym() function is part of the dlopen API, derived from SunOS
<kof673>
POSIX.1-2001 describes dlsym() no idea how far posix went towards mandating things
marr-ales-fios has quit [Quit: Konversation terminated!]
<nikolar>
you can just... read the spec
<kof673>
no i mean e.g. EXIT_SUCCESS EXIT_FAILURE c89 has them, but values might vary IIRC
<kof673>
it may give a define, not necessarily a value :D
<nikolar>
that's not posix
<nikolar>
posix defines 0 as success
<kof673>
sure, but now we have multiple "The spec"
<kof673>
posix broke c89 /s
<nikolar>
you either target c89 or posix or whatever
HD36079 has quit [Quit: Leaving]
amadaluzia has quit [Ping timeout: 265 seconds]
amadaluzia has joined #osdev
<Ermine>
i guess if you write c you most likely target c89 or cwhatever
<heat>
gnu23
<heat>
nullptr all them thangz
<Ermine>
gnu23 has nullptr?
<heat>
C23 has
<nikolar>
yuck
<nikolar>
no nullptr allowed in this household
<Ermine>
yuckshave
amadaluzia has quit [Remote host closed the connection]
<zid>
nikolar: He wasn't beaten enough as a child
<nikolar>
indeed
vdamewood has joined #osdev
Teukka has joined #osdev
amadaluzia has joined #osdev
<kof673>
i do both because system() may or may not need you to use WIFEXITED WEXITSTATUS to grab the return value lol
<kof673>
do i even have sys/wait.h ...maybe, maybe not lol
LostFrog has joined #osdev
PapaFrog has quit [Ping timeout: 252 seconds]
kwilczynski has joined #osdev
abitw has joined #osdev
abitw has quit [Client Quit]
abitw has joined #osdev
<abitw>
Hello, I have a problem with registration at the Forum. My question is: "The program first loaded off of a disk when booting your computer is known as a <answer>", but when I type in Bootloader it tells me: "You have provided an invalid answer to the question.". I already tried refreshing the page, typing it lowercase, etc.
<abitw>
Ok, now I get: "You have exceeded the maximum number of registration attempts for this session. Please try again later."
<heat>
Hmm, i wonder if the correct answer is MBR?
chiselfuse has quit [Remote host closed the connection]
<abitw>
Yeah, Ok. But there is still theoretically VBR...
<heat>
i don't know honestly
<heat>
and the question is absolutely vague and silly
<heat>
bootloader is a more valid answer
<abitw>
Do you know how long I need to wait?
<heat>
no clue
<abitw>
Ok, still thank you!
<heat>
sortie: Mutabah: could you take a look?
chiselfuse has joined #osdev
Turn_Left has quit [Ping timeout: 252 seconds]
Turn_Left has joined #osdev
stolen has joined #osdev
* geist
yawns
<geist>
good morning germs
<heat>
hello
<geist>
i wakes up to the sun. praise Solaris
abitw has quit [Ping timeout: 245 seconds]
<nikolar>
ILLUMOS
<heat>
PRAISE SOLARIS PRAISE SUN OS PRAISE ORACLE
<heat>
JAVA
<heat>
YES
<geist>
omg i'm drinking java right now
<heat>
omg i'm drinking sparc right now!!
<zid>
I am eating chili.. OS?
<heat>
chilinuxkernel
eddof13 has joined #osdev
Left_Turn has joined #osdev
Turn_Left has quit [Ping timeout: 245 seconds]
eddof13 has quit [Quit: eddof13]
eddof13 has joined #osdev
simjnd has quit [Ping timeout: 245 seconds]
<zid>
heat: Why haven't you given us a screed about el classico and the champion's league?
<heat>
i hate all spanish teams and don't care about the champions league after my team goes out