-
Notifications
You must be signed in to change notification settings - Fork 143
release v0.15 #446
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
Closed
Closed
release v0.15 #446
Changes from 93 commits
Commits
Show all changes
97 commits
Select commit
Hold shift + click to select a range
885977a
replace software_interrupt! macro with generic function (#259)
Freax13 33e8c3b
software_interrupt: Add additional testing (#260)
josephlr 69a6b1e
fix typo in docs (#265)
Freax13 66952eb
Resubmission of #226 (#261)
josephlr 2313b30
Use SegmentSelector in InterruptStackFrame (#263)
josephlr fb8c5e5
Merge branch 'master' into next
josephlr 3b8a597
Merge branch 'master' into next
josephlr 8fe252f
add `PcidTooBig` error
Freax13 9b1773c
add `InvalidStarSegmentSelectors`
Freax13 ddf7a68
fix grammar
Freax13 a96abb2
Merge pull request #317 from Freax13/proper-star-error
phil-opp 734c419
Merge pull request #316 from Freax13/proper-pcid-error
phil-opp 8294882
activate `feature(abi_x86_interrupt)`
Freax13 37f8b0d
Merge pull request #320 from Freax13/fix-asm-const-operands
Freax13 88fee50
change `Index<usize>` to `Index<u8>`
99a334c
use `u8` instead of `usize` for `slice`
5be7446
implement ranged index for idt
6eee5a8
use `usize::from` instead of casting
Freax13 9ce47b3
Merge pull request #319 from Freax13/index-idt-with-u8
Freax13 338d3d4
fix `load_tss` and `GlobalDescriptorTable`
Freax13 aefd432
revert to old GDT but take &mut in `load` instead
Freax13 597ff85
add `Singleton<T>`
Freax13 96e0917
fix test
Freax13 c49a3b3
change `cpu_flags`'s type to `RFlags`
Freax13 9f2114c
Merge pull request #324 from Freax13/interrupt-stack-frame-types
josephlr f677c78
use swap and fix ordering
Freax13 df498d8
change Singleton's name to SingleUseCell
Freax13 23cf4c5
add `Send` bound for `SingleUseCell`'s `Sync` impl
Freax13 230c303
Merge pull request #323 from Freax13/mutable-gdt
Freax13 0aa7b93
add an immutable getter for the level 4 page table
Freax13 0dd0f56
Merge pull request #327 from Freax13/page-table-getter
Freax13 c449106
Merge branch 'master' into next
phil-opp ea00bfd
Unsafe blocks are now required in `unsafe fn`s too (since #328)
phil-opp 5efea6a
Page table are now indexed with `u8` instead of `usize`
phil-opp d9eb7f6
Update test for new `InterruptStackFrame` format
phil-opp b820a2e
The `level_4_table` function only returns an immutable reference sinc…
phil-opp 64a7ca7
Merge pull request #338 from rust-osdev/next-with-master
phil-opp 11f64f6
make `Cr2::read` return a result
Freax13 3de203e
add errors section in doc comments
Freax13 5475d89
wrap comment
Freax13 628b913
Merge pull request #335 from Freax13/cr2-read-returns-result
phil-opp 33194b6
Merge remote-tracking branch 'origin/master' into next
Freax13 c521e73
Merge pull request #344 from Freax13/next
Freax13 f7b2e90
remove `external_asm` and `inline_asm` features
Freax13 2da1eb6
Merge pull request #345 from Freax13/remove-asm-features
Freax13 89662dc
Merge branch 'master' into next
josephlr 45d2f3b
Merge branch 'master' into next
josephlr 518e43c
Update "next" MSRV for stable features to 1.59
josephlr 8c3f123
Allow the GDT to be of any length
josephlr f411496
gdt: Update comments and assert message
josephlr c739493
Merge pull request #360 from rust-osdev/dyn_gdt
josephlr cfd24c7
Remove software_interrupt! macro
josephlr d8edd3f
Merge pull request #363 from rust-osdev/macro
josephlr 5bbc76e
Remove usize trait impls
josephlr bce9ff5
Update bootloader tests
josephlr 2e65c45
Merge pull request #364 from rust-osdev/usize
josephlr 941c50d
gdt: Check that MAX is in range
josephlr b070bb6
Remove deprecated functions/flags
josephlr 50b918d
Merge pull request #368 from rust-osdev/depr
josephlr d4e330f
Merge pull request #365 from rust-osdev/gdt1
josephlr 3c48283
VirtAddr: Remove 32-bit conversion
josephlr b0d47b3
VirtAddr: don't succeed on non-canonical addresses
josephlr 49b41c8
VirtAddr: make new() and try_new() const
josephlr 872edf7
Update VirtAddr documentation and fix typos
josephlr 3847259
Merge pull request #370 from rust-osdev/addr
josephlr 92f6a82
Merge branch 'master' into next
josephlr 272ff04
Conditionally import bit_field
josephlr 48dbe8f
Add structures::gdt::Entry type
josephlr 255124a
Add PartialEq, Eq, and Debug impls
josephlr 07f7ebf
Make from_raw_entries safe
josephlr 49b5295
Fix nits/warnings in docs
josephlr b61f341
Use AtomicU64 for Entry type
josephlr 8792dc9
Fix Clippy warning about const item used to construct array
josephlr 055d014
Allow GDT to be loaded with shared reference
josephlr b2fadb8
Remove SignleUseCell
josephlr 8bb01e8
Add additional tests for TSS entry
josephlr e70b8a3
Merge pull request #380 from rust-osdev/gdt_entry
josephlr 156cfda
Merge pull request #381 from rust-osdev/gdt_atomic
josephlr e1945fa
Merge branch 'master' into next
josephlr 62a4ce0
fix `Page::from_page_table_indices`
Freax13 a268e7a
Merge pull request #398 from Freax13/fix/from-indices
phil-opp d4a780e
create unified `Sealed` trait
Freax13 b568699
seal off the `PageSize` trait
Freax13 ed4b978
Merge pull request #404 from Freax13/seal-page-size
josephlr f5c2b06
Merge remote-tracking branch 'upstream/next' into release/v0.15
Freax13 ee78cc0
fix date for 0.14.11 release
Freax13 5133c37
update changelog for 0.15.0 release
Freax13 c34c84a
bump version
Freax13 47a11c9
Merge pull request #447 from rust-osdev/update-next-with-master
phil-opp e24d811
remove deprecated from_bits_unchecked functions
Freax13 e7f53ac
make `HandlerFuncType` unsafe
Freax13 4fc44a6
Merge pull request #449 from Freax13/enhancement/remove-deprecate
Freax13 fb5416c
Merge pull request #450 from Freax13/enhancement/idt
Freax13 5384bd1
Update docs to clarify new defaults for `set_handler_fn`
phil-opp 0c368ad
List new IDT defaults as breaking change in changelog
phil-opp 32ed8fc
Merge pull request #451 from rust-osdev/update-docs
phil-opp 8e13191
mark as beta-release
Freax13 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
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
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not entirely sure why this PR was merged into the next branch. AFAICT it doesn't introduce any breaking changes and doesn't depend on any changes in the next branch.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like the behavior of
set_handler_function
/set_handler_addr
was changed in a subtle way. Before #226, only thepresent
was added to the entry options. Since #226, the wholeoptions
field is reinitialized, which means that the additional options are reset (if they were set before).We should probably add the doc comment introduced in #226 to both
set_handler_function
andset_handler_addr
:https://github.com/rust-osdev/x86_64/pull/261/files#diff-399920f192f3fe5242eba18a5bdecd151fe662e3432e4836a34d11a7b8076b54R630-R638
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, this part of the
set_handler_fn
comment is no longer true:The function is no longer gated on the
abi_x86_interrupt
feature, only the impls forHandlerFunc*
are. So users can still use this function if they provide their ownHandlerFuncType
implementation.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Speaking of which, we should probably make the
HandlerFuncType
anunsafe trait
, given that we trust theto_virt_addr
output.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, I forgot that we only use the trait with specific types defined in
InterruptDescriptorTable
. So there is no reason for users to implement this trait. Still, an unsafe trait would probably better represent our intentions?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's still only usable if
abi_x86_interrupt
is active because theHandlerFuncType
is gated behindabi_x86_interrupt
:x86_64/src/structures/idt.rs
Lines 839 to 855 in 47a11c9