tree ec072e26d875afa854b8d97a4fdd4a75fa075cfe
parent 28913fdd14162f687c667b4e754ee8f07737b7ea
parent f908a63f66bd026e76d0e26d36b79936793bc70c
author bors[bot] <26634292+bors[bot]@users.noreply.github.com> 1613094773 +0000
committer GitHub <noreply@github.com> 1613094773 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJgJd91CRBK7hj4Ov3rIwAAdHIIAEgjikgabsvXcuqDRQWpUFes
 Co36reWOzGwO87cVXVGTr14gR8ue/lLPD1LHVAYzvbxmp+AdoBtwMD+mtVfNWYFH
 p2XvSdXc2PIZMj/nrfeMHQt4hE3Dt2oyRmgoyFYXmCw2xYA293852EvC3/qVDNSW
 1yHmDlR+kFo8+gdwb1EW+n0a10AMMe+EgTMoDdarOChzNHxGVbUFxmBqaYOjXD/z
 m0pcOdGl5ZIyDpCUfAGiDtJ9J61b+rhe+PO6tfmG7UMvqg0wif2B7wdYskrX1ktM
 8GdL3M0+lJn20e6baqwD4kWbZKNjQTPJc30Q0Vu50uJR+rHBDgPxJlY9UuEbJDE=
 =Yb+N
 -----END PGP SIGNATURE-----
 

Merge #273

273: Make ErrorCode an enum that exactly represents the ErrorCode values the kernel can return. r=hudson-ayers a=jrvanwhy

I previously made `ErrorCode` a struct that can represent any `u32` value because it was unclear what values future Tock versions may return. The Tock 2.0 TRD now says that the kernel will never return an error code of 0 or an error code greater than 1023, so we can rely on that.

This has the benefit of enabling niche optimizations on the type. The zero value is now a usable niche (zero being the most efficient value to compare against in many cases), as well as all values above 1023.

There are two drawbacks to this approach:

1. 3 more uses of `unsafe` in `CommandReturn`, maybe a few extra uses in the `Syscalls` implementation.
2. A huge block of reserved numbers in `ErrorCode`.

I used the following code to generate the number block, and vim commands to format it:
```
fn main() {
    for i in 1..=1023 {
        print!("N{:05} = {:05}, ", i, i);
        if i % 5 == 0 { println!(); }
    }
}
```

Co-authored-by: Johnathan Van Why <jrvanwhy@google.com>
