Giter VIP home page Giter VIP logo

solstice's Introduction

Solstice

Build Status License

Rust x86_64 operating system.

The bootloader is forked from rust-osdev/bootloader, licensed under MIT. The x86_64 crate is forked from rust-osdev/x86_64, licensed under MIT.

Img

Install

Dependencies

Requires nightly rust and QEMU.

rustup component add llvm-tools-preview rust-src
cargo install cargo-xbuild bootimage

Building

cargo xbuild

Running

cargo xrun

solstice's People

Contributors

64 avatar alexanderrya avatar drcrally avatar jaimehw avatar yuhanun avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

solstice's Issues

The ACPI parser causes the OS to panic and die

The project outputs this when run:
` _____ _ _ _ Developed by:
/ | | | | | () - Vinc
| (
___ | || | _ ___ ___ - Crally
_
\ / _ | / | | |/ / _ \ - Mehodin
) | () | _ \ || | (| / - Alex8675
|
/ _
/||
/_|_|__|

[DEBUG] gdt: loaded
[DEBUG] idt: loaded
[DEBUG] pmm: initialised
[DEBUG] acpi: found tables
[ERROR] panicked at 'not yet implemented', /home/[REDACTED]/.cargo/registry/src/github.com-[REDACTED]/aml_parser-0.3.0/src/name_object.rs:79:28`

The offending bit of code seems to be `
pub fn name_string<'a, 'c>() -> impl Parser<'a, 'c, AmlName>
where
'c: 'a,
{
/*
* NameString := <RootChar('') NamePath> |
* PrefixPath := Nothing | <'^' PrefixPath>
*/
let root_name_string = opcode(ROOT_CHAR).then(name_path()).map(|((), ref name_path)| {
let mut name = alloc::vec![NameComponent::Root];
name.extend_from_slice(name_path);
Ok(AmlName(name))
});

// TODO: combinator to select a parser based on a peeked byte?
comment_scope_verbose("NameString", move |input: &'a [u8], context| {
    let first_char = match input.first() {
        Some(&c) => c,
        None => return Err((input, context, AmlError::UnexpectedEndOfStream)),
    };

    // TODO: parse <PrefixPath NamePath> where there are actually PrefixChars
    match first_char {
        ROOT_CHAR => root_name_string.parse(input, context),
        PREFIX_CHAR => unimplemented!(),
        _ => name_path().map(|path| Ok(AmlName(path))).parse(input, context),
    }
})

}`

Project fails to run

Tried to run a freshly cloned (git clone https://github.com/64/solstice.git) copy of the project. Build succeeds (cargo xbuild) but run (cargo xrun) fails with

Error: The bootloader dependency has not the right format: bootloader has no executable

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.