Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
00b3198
Add 'writev' syscall
jmi-reds Oct 7, 2025
cdaaf6d
writev - Fix error in error case
jmi-reds Oct 7, 2025
99a1429
Add 'readv' syscall
jmi-reds Oct 7, 2025
2919321
[syscall] Update readv & writev from comments in MR #207
jmi-reds Oct 8, 2025
580e00f
[syscall] readv & writev clean-up - MR #207
jmi-reds Oct 9, 2025
0c97a7f
Run format checking for branch 144-support-musl
jmi-reds Oct 9, 2025
d175143
Merge pull request #207 from smartobjectoriented/206-add-writev-syscall
jmi-reds Oct 9, 2025
361ac6e
[syscall] mmap: Add support for ANONYMOUS flag
jmi-reds Oct 9, 2025
4972c2b
[syscall] mmap: Define USER_ANONYMOUS_VADDR for 39bits case
jmi-reds Oct 9, 2025
2ec2066
[syscall] mmap: Define USER_ANONYMOUS_VADDR for arm32b
jmi-reds Oct 10, 2025
5088531
Merge pull request #210 from smartobjectoriented/209-mmap-anon
daniel-rossier Oct 10, 2025
09a9518
change syscall number to correct ones
clemdiep Aug 28, 2025
cc2016f
rename sbrk to brk
clemdiep Aug 28, 2025
0a74276
add dup3 simple implementation
clemdiep Aug 28, 2025
0759ba5
implement time32 version for clock_gettime and gettimeofday
clemdiep Sep 2, 2025
41b182a
wait4 and getdents
clemdiep Sep 2, 2025
81c4c7c
add mmap2 and openat
clemdiep Sep 2, 2025
fff4b8f
remove support for sysinfo
clemdiep Sep 25, 2025
d420d5b
add pipe2
clemdiep Sep 30, 2025
e0bcb8a
add rt_sig, fstatat and correct syscall table
clemdiep Sep 30, 2025
0890750
correction after rebase
clemdiep Oct 10, 2025
b91c366
remove unwanted comment in syscall_number
clemdiep Oct 10, 2025
c9ca020
correct syscall arguments and numbers
clemdiep Oct 10, 2025
a50e08c
cleanups
clemdiep Oct 13, 2025
9d8fd89
rename llseek to _llseek
clemdiep Oct 13, 2025
d0a7017
autogenerate syscall table
clemdiep Oct 13, 2025
bfed7e5
Merge pull request #212 from smartobjectoriented/211-align-existing-s…
clemdiep Oct 27, 2025
5c85496
Merge pull request #214 from smartobjectoriented/213-improve-syscall-…
clemdiep Oct 27, 2025
baaab35
fix sh to bash in script
clemdiep Oct 30, 2025
fb05db6
Add template for futex syscall
jmi-reds Nov 3, 2025
f991130
[futex] Initial implementation of FUTEX_WAIT cmd
jmi-reds Nov 4, 2025
756f5cf
[futex] Initial implementation of FUTEX_WAKE cmd
jmi-reds Nov 4, 2025
7a1e5c7
rework thread creation to match pthread
clemdiep Nov 3, 2025
539a7ed
[futex] Clean-up
jmi-reds Nov 7, 2025
d53c4e7
[futex] fix clang-format
jmi-reds Nov 7, 2025
5746fa6
Remove "mutex" syscalls
jmi-reds Nov 10, 2025
7bf1139
fix style and missing comments
clemdiep Nov 10, 2025
fde2c2c
[usr] Use musl as libc - It does not compile !
jmi-reds Nov 10, 2025
ab43bbc
[futex] clean-up based on code review
jmi-reds Nov 10, 2025
9c09570
[musl] Fix build errors & warnings when building so3/usr
jmi-reds Nov 10, 2025
027d7b5
[futex] Fix typo introduced in previous commit
jmi-reds Nov 10, 2025
37a2f1a
Merge pull request #218 from smartobjectoriented/215-rework-thread
clemdiep Nov 11, 2025
8be034c
[futex] make clearer the search of key in lists
jmi-reds Nov 11, 2025
774b56e
Merge pull request #221 from smartobjectoriented/217-implementation-o…
jmi-reds Nov 17, 2025
47d95c7
[usr] arm32 - complile usr with MUSL lib
jmi-reds Nov 17, 2025
4326e00
remove ptrace support
clemdiep Nov 10, 2025
e3ca710
implement child tid behavior
clemdiep Nov 5, 2025
c37164c
[musl] Add script to generate arm & aarch64 MUSL toolchain
jmi-reds Nov 17, 2025
d6d9fe3
Merge pull request #223 from smartobjectoriented/222-remove-ptrace-su…
clemdiep Nov 18, 2025
02c1b64
Merge pull request #224 from smartobjectoriented/219-set_tid_address
clemdiep Nov 18, 2025
22347ad
[musl] small clean-up in toolchain compilation script
jmi-reds Nov 18, 2025
9b7a41b
[doc] Add info on how to build MUSL toolchain
jmi-reds Nov 18, 2025
a4d7cc3
update CI with MUSL toolchains
jmi-reds Nov 18, 2025
5f0c556
Generate updated Docker - needed to get MUSL toolchain
jmi-reds Nov 18, 2025
dfb33b8
rework args/env setup to add aux values
clemdiep Nov 19, 2025
3d0c2a7
fix futex miss call
clemdiep Nov 19, 2025
6749de8
small improvement
clemdiep Nov 19, 2025
2fb1707
fix clang-format from copied files
clemdiep Nov 19, 2025
fb8d6d1
Merge pull request #228 from smartobjectoriented/220-add-aux-array
clemdiep Nov 20, 2025
26b9b8c
fix brk implementation
clemdiep Nov 19, 2025
f66696c
Merge pull request #229 from smartobjectoriented/225-fix-brk-syscall
clemdiep Nov 20, 2025
fa7e4a7
change default heap base address to be after the program
clemdiep Nov 19, 2025
a6d9367
[CI] Test
jmi-reds Dec 3, 2025
b39cc2b
[ci] Add test branch
jmi-reds Dec 3, 2025
d0bd3e6
Merge pull request #230 from smartobjectoriented/226-rework-elf-loading
clemdiep Dec 3, 2025
3292b76
add rt_sigprocmask syscall
clemdiep Dec 3, 2025
8452e8f
rework console to support simple cannon and raw mode
clemdiep Dec 3, 2025
849a2ad
[ci] new test with added musl toolchain
jmi-reds Dec 3, 2025
18afa9e
[CI] Add new docker image to build toolchains
jmi-reds Dec 3, 2025
049925f
[CI] Add tags for docker toolchains image
jmi-reds Dec 4, 2025
fd9fc92
[ci] Dockerfile.env update for ubuntu 24.04
jmi-reds Dec 4, 2025
8a65664
[CI] Add toolchains dependency for usr build
jmi-reds Dec 4, 2025
aea9df9
[CI] Fix issue with lvgl 32 docker image
jmi-reds Dec 4, 2025
51474f8
[CI] Fix bug in lvgl 32b docker image
jmi-reds Dec 4, 2025
02e00a0
[CI] Fix bug in lvgl 32b docker image (again)
jmi-reds Dec 4, 2025
95527d8
[ci] Some fixes
jmi-reds Dec 5, 2025
3543a93
Add missing <sys/ioctl.h> header file
jmi-reds Dec 5, 2025
1e626b2
[musl] remove the original so3 libc src
jmi-reds Dec 10, 2025
1e32feb
Merge pull request #233 from smartobjectoriented/231-add-sigprocmask-…
clemdiep Dec 10, 2025
44fdd8e
Merge pull request #234 from smartobjectoriented/232-rework-console
clemdiep Dec 10, 2025
0553699
[musl] remove old cmake toolchain files
jmi-reds Dec 10, 2025
3c915d8
[musl] small fixes based on review
jmi-reds Dec 10, 2025
020ac1c
Merge pull request #227 from smartobjectoriented/216-use-musl-toolcha…
jmi-reds Dec 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
11 changes: 5 additions & 6 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@ on:
branches:
- main
pull_request:
branches:
- main
branches: ["main", "144-support-musl"]
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reminder to remove this change before merging


jobs:
build-so3:
Expand All @@ -25,15 +24,15 @@ jobs:

- name: Build
run: |
docker run --rm -v "${PWD}:/so3" ghcr.io/smartobjectoriented/so3-env:main bash -c "cd so3 && make ${{ matrix.CONFIG }} && make -j`nproc`"
docker run --rm -v "${PWD}:/so3" ghcr.io/smartobjectoriented/so3-env:latest bash -c "cd so3 && make ${{ matrix.CONFIG }} && make -j`nproc`"

build-usr:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
CMAKE_TOOLCHAIN_FILE: ['aarch64_toolchain.cmake',
'arm_toolchain.cmake']
CMAKE_TOOLCHAIN_FILE: ['aarch64-linux-musl.cmake',
'arm-linux-musl.cmake']
BUILD_TYPE: ['Debug', 'Release']
steps:
- name: Checkout repository
Expand All @@ -43,4 +42,4 @@ jobs:

- name: Build
run: |
docker run --rm -t -v "${PWD}:/so3" ghcr.io/smartobjectoriented/so3-env:main bash -c "mkdir usr/build && cd usr/build && cmake --no-warn-unused-cli -DCMAKE_C_FLAGS='-Werror' -Wno-dev -DCMAKE_BUILD_TYPE=${{ matrix.BUILD_TYPE }} -DCMAKE_TOOLCHAIN_FILE=../${{matrix.CMAKE_TOOLCHAIN_FILE }} .. && make -j`nproc`"
docker run --rm -t -v "${PWD}:/so3" ghcr.io/smartobjectoriented/so3-env:latest bash -c "mkdir usr/build && cd usr/build && cmake --no-warn-unused-cli -DCMAKE_C_FLAGS='-Werror' -Wno-dev -DCMAKE_BUILD_TYPE=${{ matrix.BUILD_TYPE }} -DCMAKE_TOOLCHAIN_FILE=../${{matrix.CMAKE_TOOLCHAIN_FILE }} .. && make -j`nproc`"
53 changes: 52 additions & 1 deletion .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,64 @@ name: Docker Image CI

on:
push:
branches: ["main"]
paths:
- 'docker/Dockerfile.*'
- 'toolchains/*'
workflow_dispatch:

env:
REGISTRY: ghcr.io

jobs:
build-toolchains:
runs-on: ubuntu-latest
strategy:
fail-fast: false

permissions:
contents: read
packages: write
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
submodules: 'true'

- name: Log in to the Container registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Extract metadata for Docker
id: meta
uses: docker/metadata-action@v5
with:
images: ghcr.io/smartobjectoriented/so3-toolchains
tags: |
type=raw,value=latest

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Build and push
id: build_toolchains
uses: docker/build-push-action@v5
with:
context: .
file: ./docker/Dockerfile.toolchains
push: true
platforms: linux/amd64
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
annotations: ${{ steps.meta.outputs.annotations }}
cache-from: type=gha
cache-to: type=gha,mode=max

build-image:
runs-on: ubuntu-latest
needs: ['build-toolchains']
strategy:
fail-fast: false
matrix:
Expand Down Expand Up @@ -47,6 +96,8 @@ jobs:
uses: docker/metadata-action@v5
with:
images: ${{ matrix.image }}
tags: |
type=raw,value=latest

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/style.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
branches: ["main", "144-support-musl"]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reminder to remove this change before merging


jobs:
formatting-check:
Expand Down
22 changes: 20 additions & 2 deletions doc/source/user_guide.rst
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,8 @@ SO3 root directory (main subdirs)::
Build of the environment
************************

About the toolchain
===================
kernel toolchain
================

We use the ``arm-none-eabi`` toolchain which has no dependencies on a libc.

Expand All @@ -78,6 +78,24 @@ The following package can be installed:

apt install gcc-arm-none-eabi

usr-space toolchain
===================

The usr-space uses MUSL as libc. The Musl toolchains can be generated with
``toolchains/build-toolchain.sh`` script.

.. code-block:: bash

$ ./build-toolchain.sh

By default, it generates ``aarch64-linux-musl`` and ``arm-linux-musleabihf``
folder in the ``toolchains`` directory

.. note::

The output directory (by default ``toolchains`` floder) can be changed by setting
the ``OUTPUT_PATH`` variable in the ``build-toolchain.sh`` script

Quick setup & early test
========================

Expand Down
26 changes: 8 additions & 18 deletions docker/Dockerfile.env
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
FROM ubuntu:22.04
FROM ghcr.io/smartobjectoriented/so3-toolchains

ENV DEBIAN_FRONTEND=noninteractive
ENV TZ=UTC

RUN dpkg --add-architecture i386
RUN apt update
RUN apt install libc6:i386 libncurses5:i386 libstdc++6:i386 -y
RUN apt install libc6:i386 libncurses6:i386 libstdc++6:i386 -y
RUN apt install lib32z1-dev -y
RUN apt install zlib1g:i386 -y
RUN apt install pkg-config libgtk2.0-dev bridge-utils -y
Expand All @@ -13,35 +16,22 @@ RUN apt install fdisk -y
RUN apt install libncurses-dev -y
RUN apt install flex bison -y

RUN apt install gcc-arm-none-eabi -y
RUN apt install wget unzip -y
RUN apt install python3-venv -y
RUN apt install ninja-build -y
RUN apt install git -y
RUN apt install cmake -y
RUN apt install python3-pip -y

RUN pip3 install pcpp

# Download aarch64-none-linux-gnu toolchain
RUN wget https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-a/10.3-2021.07/binrel/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.xz
RUN tar -xvf gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.xz
RUN rm gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.xz

ENV PATH="$PATH:/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin"

# Download aarch64-none-elf toolchain
RUN wget https://developer.arm.com/-/media/Files/downloads/gnu/12.3.rel1/binrel/arm-gnu-toolchain-12.3.rel1-x86_64-aarch64-none-elf.tar.xz
RUN tar -xvf arm-gnu-toolchain-12.3.rel1-x86_64-aarch64-none-elf.tar.xz
RUN rm arm-gnu-toolchain-12.3.rel1-x86_64-aarch64-none-elf.tar.xz

ENV PATH="$PATH:/arm-gnu-toolchain-12.3.rel1-x86_64-aarch64-none-elf/bin"
RUN pip install --break-system-packages pcpp

# Get current so3 so we can build qemu
RUN wget https://github.com/smartobjectoriented/so3/archive/refs/heads/main.zip
RUN unzip main.zip
RUN rm main.zip
RUN mv so3-* generated

# Build qemu
RUN cd /generated/qemu && ./fetch.sh && ./configure --target-list=arm-softmmu,aarch64-softmmu --disable-attr --disable-werror --disable-docs
ENV PATH="$PATH:/generated/qemu/build"
# Remove everything except qemu
Expand Down
21 changes: 12 additions & 9 deletions docker/Dockerfile.lvperf_32b
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
FROM alpine:latest AS baseimage
FROM ghcr.io/smartobjectoriented/so3-toolchains:latest AS baseimage

FROM baseimage AS builder

RUN apk update; \
apk add --no-cache make cmake gcc-arm-none-eabi \
g++-arm-none-eabi qemu-system-arm \
bison flex libc-dev libressl-dev dtc
RUN apt update && \
apt install -y build-essential cmake qemu-system-arm gcc-arm-none-eabi \
bison flex libssl-dev device-tree-compiler qemu-system-arm && \
apt clean && \
rm -rf /var/lib/apt/lists/*

WORKDIR /so3

Expand All @@ -29,10 +30,12 @@ RUN cd u-boot;\

FROM baseimage AS runner

RUN apk update; \
apk add --no-cache make cmake gcc-arm-none-eabi \
g++-arm-none-eabi qemu-system-arm \
util-linux dtc u-boot-tools dosfstools python3 py3-pip
RUN apt-get update && \
apt install -y make cmake gcc-arm-none-eabi qemu-system-arm \
util-linux device-tree-compiler u-boot-tools dosfstools python3 \
python3-pip && \
apt clean && \
rm -rf /var/lib/apt/lists/*

RUN pip install --break-system-packages pcpp

Expand Down
35 changes: 22 additions & 13 deletions docker/Dockerfile.lvperf_64b
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
FROM alpine:latest AS baseimage
FROM ghcr.io/smartobjectoriented/so3-toolchains:latest AS baseimage

ENV DEBIAN_FRONTEND=noninteractive
ENV TZ=UTC

FROM baseimage AS builder

RUN apk update; \
apk add --no-cache make cmake gcc-aarch64-none-elf \
qemu-system-aarch64 \
bison flex libc-dev libressl-dev dtc
RUN apt update && \
apt install -y build-essential cmake qemu-system-arm \
bison flex libssl-dev device-tree-compiler && \
apt clean && \
rm -rf /var/lib/apt/lists/*

WORKDIR /so3

Expand All @@ -29,10 +33,19 @@ RUN cd u-boot;\

FROM baseimage AS runner

RUN apk update; \
apk add --no-cache make cmake gcc-aarch64-none-elf \
g++-aarch64-none-elf qemu-system-aarch64 \
util-linux dtc u-boot-tools dosfstools python3 py3-pip
RUN apt update && apt install -y --no-install-recommends \
build-essential \
cmake \
qemu-system-arm \
util-linux \
device-tree-compiler \
u-boot-tools \
dosfstools \
python3 \
python3-pip \
bash patch git && \
apt clean && \
rm -rf /var/lib/apt/lists/*

RUN pip install --break-system-packages pcpp

Expand Down Expand Up @@ -66,10 +79,6 @@ RUN echo "#!/bin/sh" > install_dependencies.sh && chmod +x install_dependencies.
RUN rm -rf /var/cache/apk/*
RUN rm -rf /usr/share/man /usr/share/doc /usr/share/info /var/cache/apk/*

# This env varialbe is read from the usr/build.sh script in order to set a custom aarch64 toolchain
# This may be removed if so3 is fully migrated to the aarch64-none-elf toolchain
# Right now aarch64-none-linux-gnu is still used by default
ENV USR_BUILD_TOOLCHAIN_FILE=aarch64_none_toolchain.cmake
ENV QEMU_ARCH=aarch64
ENV PLATFORM=virt64

Expand Down
29 changes: 29 additions & 0 deletions docker/Dockerfile.toolchains
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Create a Docker image which prepare the toolchains needed by SO3 env.
#
# Copyright (c) 2025 REDS Institute, HEIG-VD
#
# Set 'aarch64-none-elf' toolchain & build arm & aarch64 musl toolchains
#
# Note: 'arm-none-eabi-' is installed for package manager in the others docker images

FROM ubuntu:24.04 AS toolchains-utils

RUN apt-get update && apt-get install -y gcc-arm-none-eabi gcc-11 g++-11 git make \
patch sudo xz-utils wget && \
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 10 && \
update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 10 && \
apt clean && \
rm -rf /var/lib/apt/lists/*

# Download aarch64-none-elf toolchain
RUN wget https://developer.arm.com/-/media/Files/downloads/gnu/12.3.rel1/binrel/arm-gnu-toolchain-12.3.rel1-x86_64-aarch64-none-elf.tar.xz
RUN tar -xvf arm-gnu-toolchain-12.3.rel1-x86_64-aarch64-none-elf.tar.xz
RUN rm arm-gnu-toolchain-12.3.rel1-x86_64-aarch64-none-elf.tar.xz

ENV PATH="$PATH:/arm-gnu-toolchain-12.3.rel1-x86_64-aarch64-none-elf/bin"

COPY toolchains /toolchains
RUN /toolchains/build-toolchain.sh && rm -rf /toolchains/musl-cross-make

ENV PATH=$PATH:/toolchains/aarch64-linux-musl/bin
ENV PATH=$PATH:/toolchains/arm-linux-musleabihf/bin
27 changes: 21 additions & 6 deletions so3/Kbuild
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,31 @@
# Kbuild for top-level directory of the kernel
# This file takes care of the following:

# Generate asm-offsets.h
# Generate syscall_table.h.in and syscall_number.h

syscall-files = include/generated/syscall_table.h.in
syscall-files += include/generated/syscall_number.h
syscall-script = scripts/syscall_gen.sh
syscall-src = syscall.tbl arch/$(SRCARCH)/syscall.h.in

quiet_cmd_syscall_gen = GEN $@
cmd_syscall_gen = $(syscall-script) $(syscall-src) $(syscall-files)

$(syscall-files) &: $(syscall-script) $(syscall-src) Kbuild FORCE
$(call if_changed,syscall_gen)

always := $(syscall-files)
targets := $(syscall-files)

# Generate asm-offsets.h
#

offsets-file := include/generated/asm-offsets.h

always := $(offsets-file)
targets := $(offsets-file)
always += $(offsets-file)
targets += $(offsets-file)
targets += arch/$(SRCARCH)/asm-offsets.s

# Default sed regexp - multiline due to syntax constraints
define sed-y
"/^->/{s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; s:->::; p;}"
Expand All @@ -34,10 +50,9 @@ define cmd_offsets
endef

# We use internal kbuild rules to avoid the "is up to date" message from make
arch/$(SRCARCH)/asm-offsets.s: $(srctree)/arch/$(SRCARCH)/asm-offsets.c FORCE
arch/$(SRCARCH)/asm-offsets.s: $(srctree)/arch/$(SRCARCH)/asm-offsets.c include/generated/syscall_number.h FORCE
$(Q)mkdir -p $(dir $@)
$(call if_changed_dep,cc_s_c)

$(offsets-file): arch/$(SRCARCH)/asm-offsets.s Kbuild
$(call cmd,offsets)

2 changes: 1 addition & 1 deletion so3/arch/arm32/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
obj-y += head.o
obj-y += setup.o exception.o context.o fault.o
obj-y += cache_v7_asm.o cache_v7.o cache-cp15.o
obj-y += thread.o ptrace.o
obj-y += thread.o
obj-y += vfp.o
obj-y += backtrace.o backtrace_asm.o
obj-y += smccc-call.o
Expand Down
1 change: 1 addition & 0 deletions so3/arch/arm32/asm-offsets.c
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ int main(void)
DEFINE(OFFSET_PSR, offsetof(cpu_regs_t, psr));
DEFINE(OFFSET_SP_USR, offsetof(cpu_regs_t, sp_usr));
DEFINE(OFFSET_LR_USR, offsetof(cpu_regs_t, lr_usr));
DEFINE(OFFSET_TLS_USR, offsetof(cpu_regs_t, tls_usr));

BLANK();

Expand Down
Loading