seL4 / capdl

Capability Distribution Language tools for seL4
https://sel4.systems
34 stars 46 forks source link

ARMv6 is no longer supported by seL4 #39

Closed axel-h closed 2 months ago

axel-h commented 2 years ago

With https://github.com/seL4/seL4/pull/580 the ARMv6 support has been removed. Thus there's no reason to accept "arm11" here any longer.

lsf37 commented 2 years ago

Looks like arm11 is being referenced in a test somewhere still. Since we don't have many tests for this tool, we should probably update that (now) failing test instead of removing it.

axel-h commented 2 years ago

Seem it's some more work, lots of referenced actually...

axel-h commented 2 years ago

I've done some dumb replacement now and the build should work again. The binary python-capdl-tool/tests/resources/arm-hello.bin still needs to be replaced with an aarch32 version

axel-h commented 2 years ago

I wonder, should we add ARM_HYP also or do we leave this as a future task that is only done if somebody really needs this?

lsf37 commented 2 years ago

I wonder, should we add ARM_HYP also or do we leave this as a future task that is only done if somebody really needs this?

I'd leave ARM_HYP as future task, esp since we want to get away from treating hyp as a separate architecture (not sure it'll be possible, but it'd be nice). @corlewis do you have any thoughts on this?

The other thing we will need to look at/change is all upstream code in other repos that produces those capDL specs. They will likely still reference arm11. In fact, there might be a lot more out there that we know of. We might want to support arm11 as a (strange, admittedly) syntax alternative for aarch32.

axel-h commented 2 years ago

Is this why the " / capDL-tool (ghc)" fails:

/bin/sh: 1: dot: not found

or am I missing something?

lsf37 commented 2 years ago

Is this why the " / capDL-tool (ghc)" fails:

/bin/sh: 1: dot: not found

or am I missing something?

I think you're right, we might need to add graphviz to the install in the action. Strange that this hasn't triggered before.

kent-mcleod commented 2 years ago

With https://github.com/seL4/seL4/pull/580 the ARMv6 support has been removed. Thus there's no reason to accept "arm11" here any longer.

"arm11" is the capdl spec name that is used for aarch32 configurations. The biggest reason to keep accepting "arm11" is that it's what's always been used and it isn't causing any issues. The spec definition currently accepts one name for each architecture it understands which is quite simple.

axel-h commented 2 years ago

@kent-mcleod: Based on you comment, should I drop this PR and make a new one that just adds comment explaining what this still exists? That should be sufficient to demystify things for anybody stumbling over this.

lsf37 commented 2 years ago

That would be the minimal solution. I'm Ok with that, and this is really not high priority, but it'd be nice fix this name at least eventually (it's kinda my fault, I introduced it in the very beginning of capDL when verification supported only Arm11 and nothing else).

I'd be perfectly fine with the tool understanding both and producing a deprecation warning for arm11 for a few releases before we remove it. Actually removing all references is a bit of an operation.

axel-h commented 2 years ago

Ok, See https://github.com/seL4/capdl/pull/40