| // Copyright 2020 The Fuchsia Authors |
| // |
| // Use of this source code is governed by a MIT-style |
| // license that can be found in the LICENSE file or at |
| // https://opensource.org/licenses/MIT |
| |
| #include <test.h> |
| #include <lib/arch/asm.h> |
| #include <lib/code-patching/asm.h> |
| |
| .text |
| |
| // uint64_t AddOne(uint64_t x). |
| .function AddOne, global |
| #if defined(__aarch64__) |
| 0: |
| add x0, x0, #1 |
| #elif defined(__x86_64__) |
| mov %rdi, %rax |
| 0: |
| add $1, %rax |
| #else |
| .error "unknown architecture" |
| #endif |
| 1: |
| .ifne 1b - 0b - PATCH_SIZE_ADD_ONE |
| .error "wrong size" |
| .endif |
| |
| .code_patching.range 0b, 1b, CASE_ID_ADD_ONE |
| ret |
| .end_function |