Comments (6)
I'm not sure what you're asking, with the exception of the last snipped it seems reasonably clear to me. When we enable PAE we set bit 5 because bit 5 is the bit that enables PAE. The other bits are irrelevant in this situation as they're various other settings. If you want to read up on what the others are you could go to the spec or the wiki page for the register.
https://en.wikipedia.org/wiki/Control_register#CR4
It would indeed be useful to know why enabling paging requires two bits and what they're specifically are though. Looking on the wiki page, 31 is just paging itself while 16 is for enabling write-protection on read-only pages.
from book.
@Razican I think you're right, even though these details don't matter, it seems contrary to everything else to not explain them in depth. We can do better.
from book.
Maybe there should be an appendix explaining a bit about registers and how do they work etc. Maybe a bit of assembly code explanation. That would be awesome. That way, the ones who don't want to, don't need to look at it, but the ones that want to deepen into it could go to the appendix and read about it.
from book.
Perhaps a brief explanation on bit flags when it first comes up?
from book.
That makes sense, but I think that in the future, for a great book, having some appendixes about x86/x86_64 architechtures (or even others) would make a difference.
from book.
I'm not working on the first edition anymore, so I'm going to give this a close. This stuff isn't in the second edition yet, and it's not likely to make it exactly. If someone wants to send in a PR to fix up the first edition, please feel free!
from book.
Related Issues (20)
- [2.3] Toolchain install on Mac OSX
- unknown --nmagic command after setting the $PATH HOT 8
- Translations to Spanish HOT 3
- Latex error... HOT 3
- Book index page needs styles HOT 2
- Review "setting up a development environment"
- "What tools do we use" is awkward
- update for new bootimage HOT 2
- problems with compilation HOT 4
- problems with running qemu HOT 3
- Copy button incorrectly copies to clipboard HOT 2
- Paging explanation HOT 2
- re-sync book with kernel code
- OSX Install Script - Can't unzip objconv HOT 1
- OSX Install Script - can't build grub HOT 1
- some errors in the intro
- Docker appendix?
- update book for new bootloader version
- update theme directory
- Some changes needed in 'creating our first crate'
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from book.