-
Notifications
You must be signed in to change notification settings - Fork 132
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
32bit version #19
Comments
We were considered breaking up this crate into an |
I'm against conditional compilation in the As a side note, this crate started as a fork of rz/rust-x86, a library that supports both That said, I'm open to a separate crate like @lachlansneff proposes. I wouldn't call it |
To avoid code duplication, we could create a |
so essientially you would like to move everything not specific to 64bit in a as an example, where would
just trying to get an idea as to what exactly would have its place in |
I just had the idea that we could use cargo features for that. So the Also, we probably need separate features for virtual and physical addresses, because you can have different sizes with the physical address extension feature. |
although the discrepancy in address sizes between virt/phys with PAE enabled is only true for protected mode, so it should dealt with only in the bottom level protected mode crate and not in Or maybe |
in any case i'm going to continue maintain my protected mode version and I'll be following the modifications done to your crate and adapting them to my cpu mode.
|
Well, if the x86_common defines both VirtAddr and PhysAddr we need a way to define one as 32 bit and the other as 64 bit. |
Moving it to rust-osdev would make sense if the crates are so tightly coupled. You would of course continue to have all permissions on that crate. Or what do you think @lachlansneff? |
Seems like a good idea to me |
Seems like a good idea to me too! |
I was the one who first made https://github.com/gz/rust-x86 multi-mode, breaking things and complicating the APIs. I think a lot of stuff has been rewritten since; maybe the crates can be remerged? |
@Ericson2314 While this library originally started out as a fork of rust-x86, most functionality was rewritten or restructured. Looking at the API docs of |
@phil-opp Fair enough, I was wondering since they've both evolved a bit since the fork, there might be some incidental converge. |
Hi guys, first of all thanks for the great work,
I'm maintaining a 32bit (aka
i386
, akaIA-32
, akaprotected mode
) fork of this library my own purposes. It just hit me that everything I've rewritten could be included inside of this crate with conditional compilation ala#[cfg(target_arch="x86-64"]
. The main differences obviously concern address sizes, but also page table topology isn't the same in 32bit, and some quirks here and there, nothing huge really.Your crate is named x86-64 so it's not obvious that these changes would be welcome... should i start writing a draft and make a pull request or should i maintain my own crate on the side?
ps: my version was forked at
v0.2.0-alpha-009
so there's not much to catch up withThe text was updated successfully, but these errors were encountered: