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
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
simjnd has joined #osdev
vdamewood has quit [Quit: Life beckons]
surabax has quit [Ping timeout: 276 seconds]
xenos1984 has quit [Ping timeout: 276 seconds]
xenos1984 has joined #osdev
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 244 seconds]
eddof13 has quit [Quit: eddof13]
eddof13 has joined #osdev
<Ermine> wild guess, maybe it's boot sector which gets executed first?
<nikolar> Boot sector isn't a program though
<nikolar> So wording would be weird
<Ermine> yeah, but this thing is what gets fetched and executed
mrpops2ko has quit [Ping timeout: 276 seconds]
mrpops2ko has joined #osdev
xenos1984 has quit [Ping timeout: 248 seconds]
Turn_Left has quit [Read error: Connection reset by peer]
Turn_Left has joined #osdev
Turn_Left has quit [Read error: Connection reset by peer]
Turn_Left has joined #osdev
xenos1984 has joined #osdev
simjnd has quit [Ping timeout: 248 seconds]
mrpops2ko has quit [Ping timeout: 252 seconds]
mrpops2ko has joined #osdev
simjnd has joined #osdev
eddof13 has quit [Quit: eddof13]
eddof13 has joined #osdev
stolen has quit [Quit: Connection closed for inactivity]
GeDaMo has quit [Quit: 0wt 0f v0w3ls.]
Brnocrist has quit [Ping timeout: 248 seconds]
Left_Turn has joined #osdev
Turn_Left has quit [Ping timeout: 260 seconds]
karenw has joined #osdev
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 265 seconds]
Brnocrist has joined #osdev
kwilczynski has quit []
simjnd has quit [Ping timeout: 260 seconds]
<heat> boot sector or MBR is completely wrong for most computers sold for the last 15 years
<Ermine> yes, but we don't have a name for that EFI executable that gets, hm, executed
<Ermine> and beyond x86 things are even more vague
<heat> usually it's a bootloader
<Ermine> in android there's also Trusty and probably some code that setups trustzone, but it's probably ROM
<Ermine> also embedded world, where firmware is all you have
dotexe1337_ has quit [Ping timeout: 252 seconds]
simjnd has joined #osdev
<nortti> "is emmc a disk?" the greatest thread in the history of the forums, locked after 12768 pages of heated debate
<Ermine> oh my god
netbsduser`` has quit [Ping timeout: 265 seconds]
eddof13 has quit [Quit: eddof13]
amadaluzia has quit [Remote host closed the connection]
mectronix has joined #osdev
netbsduser`` has joined #osdev
simjnd has quit [Ping timeout: 272 seconds]
kwilczynski has joined #osdev
simjnd has joined #osdev
kwilczynski has left #osdev [#osdev]
simjnd has quit [Ping timeout: 276 seconds]
karenw has quit [Ping timeout: 265 seconds]
netbsduser`` has quit [Ping timeout: 276 seconds]
simjnd has joined #osdev
simjnd has quit [Ping timeout: 265 seconds]
eddof13 has joined #osdev
simjnd has joined #osdev
eddof13 has quit [Quit: eddof13]
goliath has quit [Quit: SIGSEGV]
Lucretia has quit [Remote host closed the connection]
troseman has joined #osdev
vdamewood has joined #osdev
amadaluzia has joined #osdev
simjnd has quit [Ping timeout: 276 seconds]
amadaluzia has quit [Ping timeout: 252 seconds]
amadaluzia has joined #osdev