CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
105 lines
1.4 KiB
ArmAsm
105 lines
1.4 KiB
ArmAsm
# Blackfin testcase for HW Loops and user->super transitions
|
|
# mach: bfin
|
|
# sim: --environment operating
|
|
|
|
#include "test.h"
|
|
.include "testutils.inc"
|
|
|
|
.macro check_hwloop_regs lc:req, lt:req, lb:req
|
|
R0 = LC0;
|
|
CC = R0 == \lc;
|
|
IF !CC JUMP fail;
|
|
|
|
R0 = LT0;
|
|
CC = R0 == \lt;
|
|
IF !CC JUMP fail;
|
|
|
|
R0 = LB0;
|
|
CC = R0 == \lb;
|
|
IF !CC JUMP fail;
|
|
|
|
R0 = LC1;
|
|
CC = R0 == \lc;
|
|
IF !CC JUMP fail;
|
|
|
|
R0 = LT1;
|
|
CC = R0 == \lt;
|
|
IF !CC JUMP fail;
|
|
|
|
R0 = LB1;
|
|
CC = R0 == \lb;
|
|
IF !CC JUMP fail;
|
|
.endm
|
|
|
|
start
|
|
|
|
imm32 P0, EVT3;
|
|
loadsym R0, exception;
|
|
[P0] = R0;
|
|
|
|
imm32 P0, EVT2;
|
|
loadsym R0, nmi;
|
|
[P0] = R0;
|
|
|
|
loadsym R0, usermode;
|
|
RETI = R0;
|
|
|
|
# Set the LC/LB/LT up with LSB set
|
|
# - Hardware clears LT LSB, but LB remains until we lower
|
|
imm32 R6, 0xaaaa5555
|
|
R4 = R6;
|
|
BITCLR (R4, 0);
|
|
imm32 R7, 0xaa55aa55
|
|
R5 = R7;
|
|
BITCLR (R5, 0);
|
|
|
|
LC0 = R6;
|
|
LT0 = R6;
|
|
LB0 = R7;
|
|
LC1 = R6;
|
|
LT1 = R6;
|
|
LB1 = R7;
|
|
|
|
# Sanity check
|
|
check_hwloop_regs R6, R4, R7
|
|
|
|
RTI;
|
|
|
|
usermode:
|
|
# Make sure LSB has been cleared in LB
|
|
check_hwloop_regs R6, R4, R5
|
|
|
|
# Clear LSB in all LC/LT/LB
|
|
LC0 = R4;
|
|
LT0 = R4;
|
|
LB0 = R5;
|
|
LC1 = R4;
|
|
LT1 = R4;
|
|
LB1 = R5;
|
|
|
|
# Now move back up to supervisor
|
|
EXCPT 4;
|
|
|
|
exception:
|
|
# Make sure LSB is set in LB
|
|
check_hwloop_regs R4, R4, R7
|
|
|
|
# Clear the LSB and move up another supervisor level
|
|
LC0 = R4;
|
|
LT0 = R4;
|
|
LB0 = R5;
|
|
LC1 = R4;
|
|
LT1 = R4;
|
|
LB1 = R5;
|
|
|
|
RAISE 2;
|
|
|
|
nmi:
|
|
# Make sure LSB stayed clear
|
|
check_hwloop_regs R4, R4, R5
|
|
|
|
dbg_pass
|
|
|
|
fail:
|
|
dbg_fail
|