Add hack to get aml compiling on 32-bit platforms#159
Merged
Conversation
This is a, hopefully very temporary, hack to get `aml` to compile on 32-bit platforms. The issue is with `bitvec`, which seems to be unable to operate on 64-bit values on 32-bit systems, which I don't quite understand atm. In the long term, we should sit down and understand how to use `bitvec` properly, or replace it with a simple implementation without this limitation.
Member
Author
|
cc #146 - this does not resolve the issue satisfactorily, but should be a hack to get around Redox's immediate problem |
Contributor
|
We are using crates.io. We have a temporary patch with aml excluded, but we will clone and build with the fix. |
Member
Author
|
Sure - lmk if it works and I can merge & publish |
Contributor
|
It compiles on i686 and does not crash our acpi driver. I can't confirm that bitfields are working, but the compilation is fixed. |
Member
Author
|
🚀 Published as |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This should hopefully allow
amlto compile on 32-bit platforms for the mean time. In the future we need to sit down and understand how to solve this properly, or ripbitvecout and replace it with an implementation that doesn't have this limitation.I have locally confirmed that this compiles on
i686-unknown-linux-gnu, but don't have a 32-bit kernel setup to test this properly on. I wonder if lots of the these machines will expect a legacy AML implementation (one that models integers as 32-bit anyway), so a future direction could simply be to useu32on those platforms (this is easier said than done though, I think).cc @rw-vanc - could you give this a quick check-over for logic and see if it works for you? I'm not sure if you are using a fork or the crates.io version for Redox - do you need this to be published?