Skip to content
  1. Dec 26, 2021
  2. Nov 22, 2021
    • mathieupoirier's avatar
      oxerun: Enhance README.md file · 9009bebe
      mathieupoirier authored
      
      
      Enhance README.md file with building instructions.  That way it
      is easier for people new to the project to build the sample stand
      alone oxerun binary.
      
      Signed-off-by: default avatarMathieu Poirier <mathieu.poirier@linaro.org>
      9009bebe
    • mathieupoirier's avatar
    • mathieupoirier's avatar
      xen: Fix warning associated with llvm_asm!() · e2849500
      mathieupoirier authored
      
      
      Usage of llvm_asm!() has been superseded by a new asm!() macro.  This
      patch removes the [naked] descriptor before function __impl_start().
      Nowadays cargo demands that an asm!() block have a noreturn option,
      which prevents anything after the asm!() block from being executed.
      
      Removing the [naked] descriptor introduced a new "push rax" before
      setting up the stack, which doesn't matter since we are never returning
      from the sample application.  This is also in line with what is
      done in the sample application of the bootloader crate.
      
      Before:
      
      _start:
              #APP
              mov     rbp, offset STACK_TOP
              mov     rsp, rbp
      
              #NO_APP
              call    hello_world
              call    poweroff
              ud2
      
      After:
      
      _start:
              push    rax
              mov     eax, offset STACK_TOP
              #APP
      
              mov     rbp, rax
              mov     rsp, rbp
      
              #NO_APP
              call    hello_world
              call    poweroff
              ud2
      
      Signed-off-by: default avatarMathieu Poirier <mathieu.poirier@linaro.org>
      e2849500
    • mathieupoirier's avatar
      xen-sys: Fix compilation warning associated with llvm_asm!() · 7351b567
      mathieupoirier authored
      
      
      Usage of llvm_asm!() has been superseded by a new asm!() macro.  No
      change in functionality.
      
      Before:
      
      hypercall_2:
              mov     eax, edi
              shl     rax, 5
              lea     rax, [rax + HYPERCALL_PAGE]
              mov     rdi, rsi
              mov     rsi, rdx
              #APP
              call    rax
              #NO_APP
              ret
      
      After:
      
      hypercall_2:
              mov     rcx, rsi
              mov     eax, edi
              shl     rax, 5
              lea     rax, [rax + HYPERCALL_PAGE]
              mov     rsi, rdx
              mov     rdi, rcx
              #APP
      
              call    rax
      
              #NO_APP
              ret
      
      Signed-off-by: default avatarMathieu Poirier <mathieu.poirier@linaro.org>
      7351b567
    • mathieupoirier's avatar
      xen-sys: Add #[no_mangle] to prevent compiler renaming · c7924f69
      mathieupoirier authored
      
      
      It is much easier to look at generated assembler code when
      rustc hasn't mangled function names.  As such add the no_mangle
      directive.
      
      Signed-off-by: default avatarMathieu Poirier <mathieu.poirier@linaro.org>
      c7924f69
    • mathieupoirier's avatar
      x86_64-xen-pv: Fix compilation problem · 2cbd3a69
      mathieupoirier authored
      Remove property "stack-probes" as it generates the following
      compilation error:
      
      $ rustc --version
      rustc 1.57.0-nightly (5ecc8ad84 2021-09-19)
      $
      $ cargo build --target x86_64-xen-pv.json
      error: failed to run `rustc` to learn about target-specific information
      
      Caused by:
        process didn't exit successfully: `rustc - --crate-name ___ --print=file-names --target /home/mpoirier/work/stratos/xen/xen-sys/x86_64-xen-pv.json --crate-type bin --crate-type rlib --crate-type dylib --crate-type cdylib --crate-type staticlib --crate-type proc-macro --print=sysroot --print=cfg` (exit status: 1)
        --- stderr
        error: Error loading target specification: `Boolean(false)` is not a valid value for `stack-probes`: expected a JSON object. Run `rustc --print target-list` for a list of built-in targets
      
      This issue has also been reported for another crate here[1].
      
      [1]. https://github.com/o8vm/rust_dos/pull/5
      
      
      
      Signed-off-by: default avatarMathieu Poirier <mathieu.poirier@linaro.org>
      2cbd3a69
  3. Aug 03, 2020
  4. May 30, 2020
  5. Jul 11, 2019
    • Doug Goldstein's avatar
      remove unused headers and assembly source · 283041d4
      Doug Goldstein authored
      All assembly is now contained within the Rust code and the external
      assembler is not necessary so these files aren't necessary.
      283041d4
    • Doug Goldstein's avatar
      replace assembly entry point with built in Rust · fb60aa07
      Doug Goldstein authored
      The existing model of building a binary as a library and then linking
      that with assembly to make the actual binary is not conducive going
      forward. This moves the assembly code into a Rust macro and allows the
      user to use a macro to declare an entry point which is then wrapped
      appropriately to build a functioning Xen binary. This change allows code
      to be compiled on any platform that has a functioning Rust compiler.
      fb60aa07
  6. Jul 10, 2019
  7. Jun 30, 2019
  8. Jun 22, 2019
    • Doug Goldstein's avatar
      xen-sys: refactor hypercall to use bindgen bits · a93e0005
      Doug Goldstein authored
      Switch from hand-rolled defines for the hypercall code into code that is
      using the bindgen bits for supporting hypercalls. Side effects of
      changing the directory structure to make it clear what is platform
      generic code and what is x86_64 specific code.
      a93e0005
  9. Jun 20, 2019
  10. Jun 19, 2019
    • Doug Goldstein's avatar
      Makefile: fix xbuild of target and display · 7095d57e
      Doug Goldstein authored
      The target config was not being found for dependencies of xen and
      xen-sys without being explicitly called. Change the display of xbuild so
      that the user sees the target we are building for.
      7095d57e
  11. Jun 14, 2019
  12. Jun 09, 2019
  13. Jun 02, 2019
  14. May 27, 2019
  15. May 26, 2019
  16. Nov 04, 2017
Loading