Comments (5)
I've tried reproducing your issue by copy and pasting the code from that article, then making it compile by using the new API. But it does not crash for me at any point. Could you provide the code that reproduces the issue as a gist and specify how you are running QEMU?
from uefi-rs.
Gist : https://gist.github.com/r0ck3tAKATrashPanda/f0b7262140b17a2d09167c40209cc477
OVMF : https://www.kraxel.org/repos/jenkins/edk2/edk2.git-ovmf-x64-0-20190704.1245.g82c1a21208.noarch.rpm
QEMU : .\qemu-system-x86_64.exe -nodefaults -vga std -machine q35,accel=kvm:tcg -m 128M -drive if=pflash,format=raw,readonly=on,file=OVMF-pure-efi.fd -drive if=pflash,format=raw,readonly=on,file=OVMF_VARS-pure-efi.fd -drive format=raw,file=fat:rw:vmdir -serial stdio -monitor vc:1024x768
Edit: This is also on a Windows system (for QEMU)
from uefi-rs.
I see what the issue is. The uefi_start
function receives a reference to SystemTable<Boot>
instead of taking it by value and this crashes the program (since this type is already just a wrapper for the system table).
Unfortunately I'm not entirely sure if we can fix this since the Rust compilers allows the efi_main
function to have any signature. We have docs on how it should look, but without using a macro with custom derive or something like that it's unlinkely we'll be able to verifiy the signature of the function.
from uefi-rs.
from uefi-rs.
There's no issue in particular, but I've been busy recently and need some time to think how to implement a macro-based solution (probably a custom attribute implemented in uefi-macros
). I'll close this issue and track this in #100
from uefi-rs.
Related Issues (20)
- Nevermind... HOT 1
- How to make a runtime driver? 🤔 HOT 9
- Allow getting a MemoryMap from a pointer
- how can I found the `Miscellaneous Protocols` and use it HOT 17
- Cannot load kernel.elf from loader by using `uefi-rs` HOT 2
- Is it a pretty way for exit_boot_services()? HOT 2
- Boot Linux after running the application HOT 5
- How to obtain a protocol interface HOT 2
- How to convert value returned by `get_variable_boxed()` into a printable `str`? HOT 5
- Potentially Outdated QEMU command in book HOT 2
- Fix `uefi_services` memory unsafety if application exits before exiting boot services HOT 1
- Release uefi-0.25.0 HOT 7
- Release uefi-raw-0.4.0, uefi-0.25.0, and uefi-services-0.22.0 HOT 4
- Bring back some form of "test latest release" CI job
- Memory Leak occurs when `GraphicsOutput::query_mode` is called. HOT 4
- Rethink (im)mutabiltiy of device paths (`DevicePathBuilder` / `install_protocol_interface`) HOT 4
- Consider renovatebot instead of dependabot
- Allow building device paths as constants HOT 2
- Dependency Dashboard
- Tracking Issue: High-level API filesystem usability HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from uefi-rs.