Merge branch 'post-02' into post-03

This commit is contained in:
Philipp Oppermann
2020-07-17 11:15:53 +02:00
5 changed files with 88 additions and 42 deletions

View File

@@ -1,3 +1,6 @@
[unstable]
build-std = ["core", "compiler_builtins"]
[build] [build]
target = "x86_64-blog_os.json" target = "x86_64-blog_os.json"

View File

@@ -12,9 +12,8 @@ on:
pull_request: pull_request:
jobs: jobs:
test: check:
name: "Test" name: Check
strategy: strategy:
matrix: matrix:
platform: [ platform: [
@@ -22,49 +21,83 @@ jobs:
macos-latest, macos-latest,
windows-latest windows-latest
] ]
runs-on: ${{ matrix.platform }} runs-on: ${{ matrix.platform }}
timeout-minutes: 15
steps: steps:
- name: "Checkout Repository" - name: Checkout Repository
uses: actions/checkout@v1 uses: actions/checkout@v2
- name: Install Rust Toolchain
- name: Install Rustup uses: actions-rs/toolchain@v1
run: | with:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain nightly profile: minimal
echo ::add-path::$HOME/.cargo/bin toolchain: nightly
if: runner.os == 'macOS' - name: Install `rust-src` Rustup Component
run: rustup component add rust-src
- name: "Print Rust Version" - name: Run `cargo check`
run: | uses: actions-rs/cargo@v1
rustc -Vv with:
cargo -Vv command: check
- name: "Install Rustup Components"
run: rustup component add rust-src llvm-tools-preview
- name: "Install cargo-xbuild"
run: cargo install cargo-xbuild --debug
- name: "Install bootimage"
run: cargo install bootimage --debug
- name: "Run cargo xbuild"
run: cargo xbuild
- name: "Create Bootimage"
run: cargo bootimage
test:
name: Test
strategy:
matrix:
platform: [
ubuntu-latest,
macos-latest,
windows-latest
]
runs-on: ${{ matrix.platform }}
steps:
- name: Install Rust Toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: nightly
- name: Install bootimage
run: cargo install bootimage --debug
- name: Checkout Repository
uses: actions/checkout@v2
- name: Install Rustup Components
run: rustup component add rust-src llvm-tools-preview
- name: Run `cargo bootimage`
uses: actions-rs/cargo@v1
with:
command: bootimage
check_formatting: check_formatting:
name: "Check Formatting" name: Check Formatting
runs-on: ubuntu-latest runs-on: ubuntu-latest
timeout-minutes: 2
steps: steps:
- uses: actions/checkout@v1 - name: Checkout Repository
- name: "Use the latest Rust nightly with rustfmt" uses: actions/checkout@v2
uses: actions-rs/toolchain@v1 - name: Install Rust Toolchain
with: uses: actions-rs/toolchain@v1
toolchain: nightly with:
profile: minimal profile: minimal
toolchain: nightly
components: rustfmt components: rustfmt
override: true override: true
- run: cargo fmt -- --check - name: Run `cargo fmt`
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Install Rust Toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: nightly
components: clippy, rust-src
override: true
- name: Run `cargo clippy`
uses: actions-rs/cargo@v1
with:
command: clippy
args: -- -D warnings

11
Cargo.lock generated
View File

@@ -6,15 +6,16 @@ version = "0.1.0"
dependencies = [ dependencies = [
"bootloader", "bootloader",
"lazy_static", "lazy_static",
"rlibc",
"spin", "spin",
"volatile", "volatile",
] ]
[[package]] [[package]]
name = "bootloader" name = "bootloader"
version = "0.9.3" version = "0.9.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "44ac0bdf4930c3c4d7f0d04eb6f15d7dcb9d5972b1ff9cd2bee0128112260fc7" checksum = "0ad686b9b47363de7d36c05fb6885f17d08d0f2d15b1bc782a101fe3c94a2c7c"
[[package]] [[package]]
name = "lazy_static" name = "lazy_static"
@@ -25,6 +26,12 @@ dependencies = [
"spin", "spin",
] ]
[[package]]
name = "rlibc"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fc874b127765f014d792f16763a81245ab80500e2ad921ed4ee9e82481ee08fe"
[[package]] [[package]]
name = "spin" name = "spin"
version = "0.5.2" version = "0.5.2"

View File

@@ -5,7 +5,8 @@ authors = ["Philipp Oppermann <dev@phil-opp.com>"]
edition = "2018" edition = "2018"
[dependencies] [dependencies]
bootloader = "0.9.3" bootloader = "0.9.8"
rlibc = "1.0.0"
volatile = "0.2.6" volatile = "0.2.6"
spin = "0.5.2" spin = "0.5.2"

View File

@@ -1,6 +1,8 @@
#![no_std] #![no_std]
#![no_main] #![no_main]
extern crate rlibc;
use core::panic::PanicInfo; use core::panic::PanicInfo;
mod vga_buffer; mod vga_buffer;