arm-trusted-firmware
gccrs
arm-trusted-firmware | gccrs | |
---|---|---|
9 | 102 | |
1,823 | 2,264 | |
1.6% | 0.8% | |
9.9 | 10.0 | |
2 days ago | 6 days ago | |
C | ||
GNU General Public License v3.0 or later | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
arm-trusted-firmware
- A Close Look at a Spinlock
-
This happens more than I'd like to admit.
I have a PinePhone Pro, and I'm trying to figure out a reasonable way to get more than one half of ten minutes of battery life out of it, while still receiving notifications. I figure the best route to go will be to create a service that holds ports open, while the CPU is completely asleep, and either run it on the modem's processor or, as an possibility for the PinePhone Pro, but not the original Pinephone, run it on the m0 core used for power management.
-
Booting Modern Intel CPUs
Arm v7 was a Wild West, but with v8, Arm tried to standardize a lot. The Arm Trusted Firmware is the reference boot firmware implementation for v8+ CPUs: https://github.com/ARM-software/arm-trusted-firmware.
I'd think most of the referece documents can be discovered from that code base.
Relatedly, from the perspective of hands-on programming, the System Programmer's guide is the manual to start with.
-
“Rust is safe” is not some kind of absolute guarantee of code safety
I assure you that there is no lack of skill; that is just what happens over the course of ten years in a 300,000 line code-base and multiple hundreds of contributors: https://github.com/ARM-software/arm-trusted-firmware/blob/master/Makefile
-
The PocketReform is a made-in-Berlin Linux handheld
The ARM Trusted Firmware is what typically runs in the secure world, and it is indeed open source: https://github.com/ARM-software/arm-trusted-firmware
ROM code generally speaking is not open source, but has been dumped on occasion.
- Unpaid social media moderators perform labor worth at least $3.4 million a year on Reddit alone
-
Will we ever get any coreboot / libreboot support or any PSP source code releases??
The reference Trustzone implementation for ARM is open source https://github.com/ARM-software/arm-trusted-firmware , so I really can't think of some reason the ARM license would have to do with it.
-
SMP support for aarch64
SMP support (at least as far as CPU suspend and hotplug goes) is usually handled by TrustZone firmware on aarch64, not by the kernel (see PSCI). If you write your own OS on a bare-metal platform you can of course do what you want, but if you're looking for existing sources that's where you'd have to look. https://github.com/ARM-software/arm-trusted-firmware is a common reference implementation that supports a bunch of platforms, but many others (e.g. all Samsung and Qualcomm phones) also use their own proprietary stuff which is not publicly available.
-
Dissecting the Apple M1 GPU, part III -- Prototype Mesa compiler can now spin a cube
Come again? https://github.com/ARM-software/arm-trusted-firmware
gccrs
-
FreeBSD evaluating Rust's adoption into base system
There is a Rust front-end for GCC that is under active development [1]. If the chip vendors are not willing to develop and upstream a LLVM back-end then they can feel free to start contributing to it.
[1] https://rust-gcc.github.io/
-
Why do lifetimes need to be leaky?
That's why gccrs doesn't even consider lifetime checking a part of the language (they plan to use Polonius, too).
- Rust-GCC: GCC Front-End for Rust
-
How hard would it be to port the Rust toolchain to a new non-POSIX OS written in Rust and get it to host its own development? What would that process entail?
There's ongoing work on a Rust front-end for GCC (https://github.com/Rust-GCC/gccrs). Bit barebones right now -- ie, even core doesn't compile -- but there's funding, demand, and regular progress, so it'll only get better from there. Once gccrs can compile core, it should be ready to compile most of Rust, and thus if you've taught the calling conventions for C to GCC, you're golden.
-
How hard is it to write a front end for a more complex language like Rust or Kotlin?
I recommend checking out the GCC Rust frontend project.
-
Rust contributions for Linux 6.4 are finally merged upstream!
That is what theyre refering to, yes. The GitHub is named https://github.com/Rust-GCC/gccrs
-
GCC 13 and the State of Gccrs
- But this misses so much extra context information
3. Macro invocations there are really subtle rules on how you treat macro invocations such as this which is not documented at all https://github.com/Rust-GCC/gccrs/blob/master/gcc/rust/expan...
Some day I personally want to write a blog post about how complicated and under spec'd Rust is, then write one about the stuff i do like it such as iterators being part of libcore so i don't need reactive extensions.
- Break rust Easter Egg Merged Into gccrs
-
Any alternate Rust compilers?
(Speaking of which, Rust-GCC (or gcc-rs or gccrs or whichever other of their names they decide is the primary one) isn't even going to be a complete C++ implementation. Their plan is to implement enough to compile Polonius (the NLL 2.0 borrow checker being developed in Rust for rustc) and then share that since borrow-checking isn't necessary for codegen... only to identify and reject invalid programs... making the C++ portion of it not that different in scope from mrustc.)
-
Which programming languages, if all legacy code written in them was ported to a more modern language, would become extinct?
That bridge will be crossed with gccrs (compiling Rust with gcc directly, coming next month with GCC 13) and rust_codegen_gcc (rustc frontend, GCC backend, works now but just doesn’t yet have an “easy” setup)
What are some alternatives?
lru-rs - An implementation of a LRU cache
gcc-rust - a (WIP) Rust frontend for gcc / a gcc backend for rustc
c2rust - Migrate C code to Rust
rustc_codegen_gcc - libgccjit AOT codegen for rustc
too-many-lists - Learn Rust by writing Entirely Too Many linked lists
rustc_codegen_gcc - libgccjit AOT codegen for rustc
darwin-xnu - Legacy mirror of Darwin Kernel. Replaced by https://github.com/apple-oss-distributions/xnu
mold - Mold: A Modern Linker 🦠
docs - Hardware and software docs / wiki
rust - Empowering everyone to build reliable and efficient software.
pinephone_modem_sdk - Pinephone Modem SDK: Tools to build your own bootloader, kernel and rootfs
Rust-for-Linux - Adding support for the Rust language to the Linux kernel.