/////////////////////////////////////////// // hptwAccessFault.S // // Written: Rose Thompson rose@rosethompson.net // // Purpose: Checks that only Store/AMO access faults are generated on AMO operations // // A component of the CORE-V-WALLY configurable RISC-V project. // https://github.com/openhwgroup/cvw // // Copyright (C) 2021-24 Harvey Mudd College & Oklahoma State University // // SPDX-License-Identifier: Apache-2.0 WITH SHL-2.1 // // Licensed under the Solderpad Hardware License v 2.1 (the “License”); you may not use this file // except in compliance with the License, or, at your option, the Apache License version 2.0. You // may obtain a copy of the License at // // https://solderpad.org/licenses/SHL-2.1/ // // Unless required by applicable law or agreed to in writing, any work distributed under the // License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, // either express or implied. See the License for the specific language governing permissions // and limitations under the License. //////////////////////////////////////////////////////////////////////////////////////////////// // load code to initalize stack, handle interrupts, terminate #include "WALLY-init-lib.h" # run-elf.bash find this in project description main: la t1, data # first a valid AMO li t2, 2 li t3, 3 amoadd.d t3, t2, (t1) li t1, 0x90000000 # invalid AMO address li t2, 2 li t3, 3 amoadd.d t3, t2, (t1) fence.I finished: j done .data .align 8 data: .8byte 0x1