Skip to content

Latest commit

 

History

History
168 lines (95 loc) · 6.42 KB

Changelog.md

File metadata and controls

168 lines (95 loc) · 6.42 KB

Unreleased

0.9.12 – 2021-02-02

  • Fix build on latest nightly by updating x86_64 to v0.13.2 (#135)

0.9.11 – 2020-09-29

  • Update Cargo.lock to fix nightly breakage (#129)

0.9.10 – 2020-09-24

  • Update x86_64 again to version 0.12.1 to fix const fn-related build errors on latest nightly

0.9.9 – 2020-09-20

  • Run cargo update to fix build errors of x86_64 on latest nightly

0.9.8 – 2020-07-17

  • Enable rlibc dependency only with binary feature (#126)

0.9.7 – 2020-07-17

  • Make bootloader buildable with -Zbuild-std (#125)

0.9.6 – 2020-07-16

  • Change 1st stage int 13h addressing (#123)

0.9.5

  • Fix warning by renaming _improper_ctypes_check functions (#122)

0.9.4

  • Add recursive_idx for boot info (#116)
  • Remove unused feature gates (#118)

0.9.3

  • Update x86_64 dependency to version 0.11.0 (#117)

0.9.2

  • Nightly Breakage: Use llvm_asm! instead of deprecated asm! (#108)

0.9.1

  • SSE feature: remove inline assembly + don't set reserved bits (#105)

0.9.0

  • Breaking: Identity-map complete vga region (0xa0000 to 0xc0000) (#104)

0.8.9

  • Implement boot-info-address (#101)

0.8.8

  • Add basic support for ELF thread local storage segments (#96)

0.8.7

  • Fix docs.rs build (see commit 01671dbe449b85b3c0ea73c5796cc8f9661585ee)

0.8.6

  • Objcopy replaces . chars with _ chars (#94)

0.8.5

  • Update x86_64 dependency (#92)

0.8.4

  • Move architecture checks from build script into lib.rs (#91)

0.8.3

  • Remove unnecessary extern C on panic handler to fix not-ffi-safe warning (#85)

0.8.2

  • Change the way the kernel entry point is called to honor alignement ABI (#81)

0.8.1

  • Add a Cargo Feature for Enabling SSE (#77)

0.8.0

  • Breaking: Parse bootloader configuration from kernel's Cargo.toml (#73)
    • At least version 0.7.7 of bootimage is required now.
  • Configurable kernel stack size, better non-x86_64 errors (#72)
  • Dynamically map kernel stack, boot info, physical memory and recursive table (#71)

0.7.1

  • Run cargo update (improves compile times because of trimmed down upstream dependencies)

0.7.0

  • Breaking: Only include dependencies when binary feature is enabled (#68)
    • For manual builds, the binary feature must be enabled when building
    • For builds using bootimage, at least version 0.7.6 of bootimage is required now.

0.6.4

  • Use volatile accesses in VGA code and make font dependency optional (#67)
    • Making the dependency optional should improve compile times when the VGA text mode is used.

0.6.3

  • Update CI badge, use latest version of x86_64 crate and rustfmt (#63)

0.6.2

  • Remove stabilized publish-lockfile feature (#62)

0.6.1

  • Make the physical memory offset configurable through a BOOTLOADER_PHYSICAL_MEMORY_OFFSET environment variable (#58).
  • Use a stripped copy of the kernel binary (debug info removed) to reduce load times (#59).

0.6.0

  • Breaking: Don't set the #[cfg(not(test))] attribute for the entry point function in the entry_point macro
    • With custom test frameworks, it's possible to use the normal entry point also in test environments
    • To get the old behavior, you can add the #[cfg(not(test))] attribute to the entry_point invocation
  • Additional assertions for the passed KERNEL executable
    • check that the executable exists (for better error messages)
    • check that the executable has a non-empty text section (an empty text section occurs when no entry point is set)

0.5.3

  • Mention minimal required bootimage version in error message when KERNEL environment variable is not set.

0.5.2

  • Remove redundant import that caused a warning

0.5.1

  • Add a package.metadata.bootloader.target key to the Cargo.toml that can be used by tools such as bootimage.

0.5.0

  • Breaking: Change the build system: Use a build script that expects a KERNEL environment variable instead of using a separate builder executable as before. See #51 and #53 for more information.
    • This makes the bootloader incompatible with versions 0.6.* and earlier of the bootimage tool.
    • The bootloader also requires the llvm-tools-preview rustup component now.

0.4.0

Breaking

  • The level 4 page table is only recursively mapped if the recursive_page_table feature is enabled.
  • Rename BootInfo::p4_table_addr to BootInfo::recursive_page_table_addr (only present if the cargo feature is enabled)
  • Remove From<PhysFrameRange> implemenations for x86_64 FrameRange
    • This only works when the versions align, so it is not a good general solution.
  • Remove unimplemented BootInfo::package field.
  • Make BootInfo non-exhaustive so that we can add additional fields later.

Other

  • Add a map_physical_memory feature that maps the complete physical memory to the virtual address space at BootInfo::physical_memory_offset.
  • Re-export BootInfo at the root.