- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
hello everyone,
I am quite new to intel low-level programming and I have a question regarding segmentation in 64bit.
Is it possible to use hardware segmentation in intel 64bit processors?
I have read in the intel developer manual(3A) that segmentation in 64bit is disabled but not completely. As I know the linux kernel uses segmentation for separating user and kernel space, therefore some functionalities are present. But is it possible to use hardware segmentation on a 64bit system inside a user process? As example in a linux user process?
Or is there a similar mechanism for 64bit that allows a user space program to use hardware memory protection without involving the kernel resp. ring 0? (paging would involve ring 0)
Thanks!
Best regards,
antooo
I am quite new to intel low-level programming and I have a question regarding segmentation in 64bit.
Is it possible to use hardware segmentation in intel 64bit processors?
I have read in the intel developer manual(3A) that segmentation in 64bit is disabled but not completely. As I know the linux kernel uses segmentation for separating user and kernel space, therefore some functionalities are present. But is it possible to use hardware segmentation on a 64bit system inside a user process? As example in a linux user process?
Or is there a similar mechanism for 64bit that allows a user space program to use hardware memory protection without involving the kernel resp. ring 0? (paging would involve ring 0)
Thanks!
Best regards,
antooo
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
A very big subject, tangential to this forum, with some of the simpler questions easily looked up on the web browser you must have available to reach this forum. You may have to dig into binutils documentation and beyond, or kernel documentation, depending on your interests, for deeper questions on OS such as linux.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the answer!
Just to clarify, my question is not OS specific. The linux part was just an example. I am looking for a way to use segmentation or another memory separation mechanism in ring 3 for 64bit intel cpus. This will work in all operating systems where user programs run in ring 3. The problem is, I am not sure how 64bit and 32bit segmentation differ. The manual just states that some segment selectors are zero and run-time limit checks are disabled, therefore segmentation should still work, right?
Or does someone know if there is another forum where this question could fit in? Or is there some example assembly code, maybe from intel, that demonstrates how segmentation is used?
Thanks again!

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page