x86_64
x86_64 copied to clipboard
Library to program x86_64 hardware.
limit in gdtr contain size - 1
Not sure exactly how many CPUs out there support CR8, but might be a good idea to support it here regardless.
In this rustc version (0fa4ec6cd 2025-06-25), the compiler assumes that a function with signature `extern "x86-interrupt"` [should not have a return type](https://github.com/rust-lang/rust/pull/142633): ```rust error: invalid signature for `extern "x86-interrupt"` function...
```rs fn stack_index(&self) -> u16 { self.bits.get_bits(0..3) - 1 } ``` Here the `- 1` causes a "attempt to subtract with overflow" error. It's very easy to reproduce a panic:...
I recently am re-writing part of my kernel to work with Limine and multiple CPUs. I set up the GDT and IDT and then did a `int3` to test out...
Before #529 , it used to return an error (`FrameError::HugeFrame`). Now it just returns a `PhysFrame`. This is misleading because while the address mapping for those 4KiB *is* valid, the...
I want to use the I/O Permission Bitmap (IOBP) to allow a user space program to access COM1 only. But the current TSS and GDT code doesn't make it easy....
Steps to reproduce: - Create a mapping without `USER_ACCESSIBLE` - Update the flags to include `USER_ACCESSIBLE` Expected: The page can be accessed by user mode. Actual: The page can't be...
This has the advantage of getting all the functions of the standard `Range` and still having specific functions for a range of pages. Also the `Debug` with the `start..end` that...