Skip to content

Add Multiprocessor Wakeup structure #99

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

Merged
merged 2 commits into from
Jun 5, 2021

Conversation

wusyong
Copy link
Contributor

@wusyong wusyong commented Jun 4, 2021

Resolve #87

Copy link
Member

@IsaacWoods IsaacWoods left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great stuff; thanks for working on this!

At a future date, I think we'll want to add a nice interface to the mailbox itself, but I want to think a little more about what that should look like, so let's stick with this for now.

acpi/src/madt.rs Outdated
@@ -86,6 +86,10 @@ impl Madt {
MadtEntry::GicInterruptTranslationService(_) => {
unimplemented!();
}

MadtEntry::MultiprocessorWakeup(_) => {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This isn't quite right - we don't want to panic if we encounter one of these. It's probably safest to do nothing in this case, as the MADT should always contain other types of entries (i.e. MadtEntry::MultiprocessorWakeup(_) => (),

Copy link
Member

@IsaacWoods IsaacWoods left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great - thanks! This will allow users parsing the MADT themselves to access this structure, which is a good start - in the future we can expose the mailbox, if detected, via the Platform abstraction, hopefully presenting a nice interface such as fn bringup_processor(processor: &Processor, address: u64).

@IsaacWoods IsaacWoods merged commit 2bfb34b into rust-osdev:master Jun 5, 2021
@wusyong wusyong deleted the feat/multi-wakeup branch June 5, 2021 13:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support new MADT Multiprocessor Wakeup structures
2 participants