/openbmc/qemu/tests/docker/dockerfiles/ |
H A D | debian-hexagon-cross.docker | 2 # Docker Hexagon cross-compiler target 4 # This docker target is used for building hexagon tests. As it also 6 # build-deps. 8 FROM docker.io/library/debian:11-slim 10 # Duplicate deb line as deb-src 11 RUN cat /etc/apt/sources.list | sed "s/^deb\ /deb-src /" >> /etc/apt/sources.list 12 RUN apt-get update && \ 13 DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \ 16 apt-get install -y --no-install-recommends \ 19 xz-utils \ [all …]
|
/openbmc/qemu/target/hexagon/ |
H A D | README | 1 Hexagon is Qualcomm's very long instruction word (VLIW) digital signal 2 processor(DSP). We also support Hexagon Vector eXtensions (HVX). HVX 6 The following versions of the Hexagon core are supported 8 … https://developer.qualcomm.com/downloads/qualcomm-hexagon-v73-programmers-reference-manual-rev-aa 10 …https://developer.qualcomm.com/downloads/qualcomm-hexagon-v73-hvx-programmers-reference-manual-rev… 13 …-hexagon-automatic-translation-of-the-isa-manual-pseudcode-to-tiny-code-instructions-of-a-vliw-arc… 17 The qemu-hexagon implementation is a combination of qemu and the Hexagon 19 Hexagon-specific code are 21 qemu/target/hexagon 23 qemu/target/hexagon/imported [all …]
|
H A D | meson.build | 2 ## Copyright(c) 2020-2024 Qualcomm Innovation Center, Inc. All Rights Reserved. 23 idef_parser_dir = meson.current_source_dir() / 'idef-parser' 178 …: [python, files(decodetree_py), normal_decode_generated, '--static-decode=decode_normal', '-o', '… 187 …command: [python, files(decodetree_py), hvx_decode_generated, '--static-decode=decode_hvx', '-o', … 196 …s(decodetree_py), subinsn_a_decode_generated, ['--static-decode=decode_subinsn_a', '--insnwidth=16… 205 …(decodetree_py), subinsn_l1_decode_generated, ['--static-decode=decode_subinsn_l1', '--insnwidth=1… 214 …(decodetree_py), subinsn_l2_decode_generated, ['--static-decode=decode_subinsn_l2', '--insnwidth=1… 223 …(decodetree_py), subinsn_s1_decode_generated, ['--static-decode=decode_subinsn_s1', '--insnwidth=1… 232 …(decodetree_py), subinsn_s2_decode_generated, ['--static-decode=decode_subinsn_s2', '--insnwidth=1… 267 # We use flex/bison based idef-parser to generate TCG code for a lot [all …]
|
/openbmc/qemu/scripts/coverity-scan/ |
H A D | COMPONENTS.md | 7 …~ .*/qemu((/include)?/hw/arm/.*|(/include)?/hw/.*/(arm|allwinner-a10|bcm28|digic|exynos|imx|omap|s… 12 hexagon-gen (component should be ignored in analysis) 13 ~ .*/qemu(/target/hexagon/.*generated.*) 15 hexagon 16 ~ .*/qemu(/target/hexagon/.*) 40 …~ .*/qemu((/include)?/hw/ppc/.*|/target/ppc/.*|/hw/pci-host/(uninorth.*|dec.*|prep.*|ppc.*)|/hw/mi… 70 …ock.*|(/include?)/(block|storage-daemon)/.*|(/include)?/hw/(block|ide|nvme)/.*|/qemu-(img|io).*|/u… 97 ~ .*/qemu((/include)?/(qapi|qobject|monitor)/.*|/job-qmp.c) 100 ~ .*/qemu(/nbd/.*|/include/block/nbd.*|/qemu-nbd\.c) 108 qemu-ga [all …]
|
/openbmc/linux/arch/hexagon/include/asm/ |
H A D | cacheflush.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Cache flush operations for the Hexagon architecture 5 * Copyright (c) 2010-2011, The Linux Foundation. All rights reserved. 11 #include <linux/mm_types.h> 15 * - flush_cache_all() flushes entire cache 16 * - flush_cache_mm(mm) flushes the specified mm context's cache lines 17 * - flush_cache_page(mm, vmaddr, pfn) flushes a single page 18 * - flush_cache_range(vma, start, end) flushes a range of pages 19 * - flush_icache_range(start, end) flush a range of instructions 20 * - flush_dcache_page(pg) flushes(wback&invalidates) a page for dcache [all …]
|
H A D | pgalloc.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Page table support for the Hexagon architecture 5 * Copyright (c) 2010-2011, The Linux Foundation. All rights reserved. 11 #include <asm/mem-layout.h> 14 #include <asm-generic/pgalloc.h> 30 * base mapping, and to ensure that the user area is in pgd_alloc() 36 mm->context.generation = kmap_generation; in pgd_alloc() 39 mm->context.ptbase = __pa(pgd); in pgd_alloc() 58 * Hexagon VM spec has a "monolithic" L1 table for user and kernel 73 mm->context.generation = kmap_generation; in pmd_populate_kernel() [all …]
|
H A D | uaccess.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * User memory access support for Hexagon 5 * Copyright (c) 2010-2011, The Linux Foundation. All rights reserved. 11 * User space memory access functions 16 * When a kernel-mode page fault is taken, the faulting instruction 35 #include <asm-generic/uaccess.h>
|
H A D | elf.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * ELF definitions for the Hexagon architecture 5 * Copyright (c) 2010-2013, The Linux Foundation. All rights reserved. 12 #include <asm/user.h> 13 #include <linux/elf-em.h> 23 /* Hexagon relocations */ 93 DEST.cs0 = REGS->cs0;\ 94 DEST.cs1 = REGS->cs1;\ 102 DEST.r0 = REGS->r00; \ 103 DEST.r1 = REGS->r01; \ [all …]
|
H A D | page.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Page management definitions for the Hexagon architecture 5 * Copyright (c) 2010-2013, The Linux Foundation. All rights reserved. 11 #include <linux/const.h> 48 #define HPAGE_MASK (~(HPAGE_SIZE-1)) 49 #define HUGETLB_PAGE_ORDER (HPAGE_SHIFT-PAGE_SHIFT) 54 #define PAGE_MASK (~((1 << PAGE_SHIFT) - 1)) 62 #include <linux/pfn.h> 65 * We implement a two-level architecture-specific page table structure. 67 * asm-generic/pagetable-nopmd.h and asm-generic/pagetable-nopud.h [all …]
|
/openbmc/linux/scripts/ |
H A D | headers_install.sh | 2 # SPDX-License-Identifier: GPL-2.0 4 if [ $# -ne 2 ] 8 echo "Prepares kernel header files for use by user space, by removing" 24 trap 'rm -f $OUTFILE $TMPFILE' EXIT 26 # SPDX-License-Identifier with GPL variants must have "WITH Linux-syscall-note" 27 if [ -n "$(sed -n -e "/SPDX-License-Identifier:.*GPL-/{/WITH Linux-syscall-note/!p}" $INFILE)" ]; t… 28 echo "error: $INFILE: missing \"WITH Linux-syscall-note\" for SPDX-License-Identifier" >&2 32 sed -E -e ' 35 s@^#include <linux/compiler(|_types).h>@@ 36 s/(^|[^a-zA-Z0-9])__packed([^a-zA-Z0-9_]|$)/\1__attribute__((packed))\2/g [all …]
|
/openbmc/linux/arch/hexagon/mm/ |
H A D | vm_fault.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Memory fault handling for Hexagon 5 * Copyright (c) 2010-2011, The Linux Foundation. All rights reserved. 9 * Page fault handling for the Hexagon Virtual Machine. 15 #include <linux/uaccess.h> 16 #include <linux/mm.h> 17 #include <linux/sched/signal.h> 18 #include <linux/signal.h> 19 #include <linux/extable.h> 20 #include <linux/hardirq.h> [all …]
|
H A D | copy_to_user.S | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * User memory copying routines for the Hexagon Kernel 5 * Copyright (c) 2010-2011, The Linux Foundation. All rights reserved. 13 * Copy to/from user are the same, except that for packets with a load and 20 * copy to user: stores can fault 46 /* Normal copy loops. Use dst-dst_sav to compute distance */ 48 /* X - (A - B) == X + B - A */ 66 /* COPY TO USER: only stores can fail */
|
/openbmc/qemu/scripts/ |
H A D | update-syscalltbl.sh | 2 arch/alpha/kernel/syscalls/syscall.tbl,linux-user/alpha/syscall.tbl \ 3 arch/arm/tools/syscall.tbl,linux-user/arm/syscall.tbl \ 4 scripts/syscall.tbl,linux-user/aarch64/syscall_64.tbl \ 5 scripts/syscall.tbl,linux-user/hexagon/syscall.tbl \ 6 scripts/syscall.tbl,linux-user/loongarch64/syscall.tbl \ 7 arch/m68k/kernel/syscalls/syscall.tbl,linux-user/m68k/syscall.tbl \ 8 arch/microblaze/kernel/syscalls/syscall.tbl,linux-user/microblaze/syscall.tbl \ 9 arch/mips/kernel/syscalls/syscall_n32.tbl,linux-user/mips64/syscall_n32.tbl \ 10 arch/mips/kernel/syscalls/syscall_n64.tbl,linux-user/mips64/syscall_n64.tbl \ 11 arch/mips/kernel/syscalls/syscall_o32.tbl,linux-user/mips/syscall_o32.tbl \ [all …]
|
H A D | meson-buildoptions.sh | 1 # This file is generated by meson-buildoptions.py, do not edit! 3 printf "%s\n" ' --audio-drv-list=CHOICES Set audio driver list [default] (choices: alsa/co' 6 printf "%s\n" ' --bindir=VALUE Executable directory [bin]' 7 printf "%s\n" ' --block-drv-ro-whitelist=VALUE' 8 printf "%s\n" ' set block driver read-only whitelist (by default' 9 printf "%s\n" ' affects only QEMU, not tools like qemu-img)' 10 printf "%s\n" ' --block-drv-rw-whitelist=VALUE' 11 printf "%s\n" ' set block driver read-write whitelist (by default' 12 printf "%s\n" ' affects only QEMU, not tools like qemu-img)' 13 printf "%s\n" ' --datadir=VALUE Data file directory [share]' [all …]
|
/openbmc/linux/arch/hexagon/kernel/ |
H A D | ptrace.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Ptrace support for Hexagon 5 * Copyright (c) 2010-2013, The Linux Foundation. All rights reserved. 8 #include <linux/kernel.h> 9 #include <linux/sched.h> 10 #include <linux/sched/task_stack.h> 11 #include <linux/mm.h> 12 #include <linux/smp.h> 13 #include <linux/errno.h> 14 #include <linux/ptrace.h> [all …]
|
H A D | trampoline.S | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Copyright (c) 2010-2011, The Linux Foundation. All rights reserved. 7 * Trampoline sequences to be copied onto user stack. 8 * This consumes a little more space than hand-assembling 10 * to future tweaks to the Hexagon instruction set. 15 /* Sig trampolines - call sys_sigreturn or sys_rt_sigreturn as appropriate */
|
H A D | traps.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Kernel traps/events for Hexagon processor 5 * Copyright (c) 2010-2014, The Linux Foundation. All rights reserved. 8 #include <linux/init.h> 9 #include <linux/sched/signal.h> 10 #include <linux/sched/debug.h> 11 #include <linux/sched/task_stack.h> 12 #include <linux/module.h> 13 #include <linux/kallsyms.h> 14 #include <linux/kdebug.h> [all …]
|
H A D | vm_entry.S | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Event entry/exit for Hexagon 5 * Copyright (c) 2010-2013, The Linux Foundation. All rights reserved. 8 #include <asm/asm-offsets.h> /* assembly-safer versions of C defines */ 9 #include <asm/mem-layout.h> /* sigh, except for page_offset */ 14 * Entry into guest-mode Linux under Hexagon Virtual Machine. 15 * Stack pointer points to event record - build pt_regs on top of it, 25 * register, putting prior thread_info.regs pointer in a callee-save 31 * to -1 for all events. It will be replaced with the system call 75 R2 = #-1; } \ [all …]
|
H A D | signal.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Signal support for Hexagon processor 5 * Copyright (c) 2010-2012, The Linux Foundation. All rights reserved. 8 #include <linux/linkage.h> 9 #include <linux/syscalls.h> 10 #include <linux/sched/task_stack.h> 15 #include <linux/uaccess.h> 30 unsigned long sp = sigsp(regs->r29, ksig); in get_sigframe() 32 return (void __user *)((sp - frame_size) & ~(sizeof(long long) - 1)); in get_sigframe() 40 err |= copy_to_user(&sc->sc_regs.r0, ®s->r00, in setup_sigcontext() [all …]
|
/openbmc/qemu/.gitlab-ci.d/ |
H A D | buildtest.yml | 2 - local: '/.gitlab-ci.d/buildtest-template.yml' 4 build-system-alpine: 6 - .native_build_job_template 7 - .native_build_artifact_template 9 - job: amd64-alpine-container 12 TARGETS: avr-softmmu loongarch64-softmmu mips64-softmmu mipsel-softmmu 13 MAKE_CHECK_ARGS: check-build 14 CONFIGURE_ARGS: --enable-docs --enable-trace-backends=log,simple,syslog 16 check-system-alpine: 19 - job: build-system-alpine [all …]
|
/openbmc/qemu/target/hexagon/idef-parser/ |
H A D | README.rst | 1 Hexagon ISA instruction definitions to tinycode generator compiler 2 ------------------------------------------------------------------ 4 idef-parser is a small compiler able to translate the Hexagon ISA description 8 ------------------- 10 To better understand the scope of the idef-parser, we'll explore an applicative 11 example. Let's start by one of the simplest Hexagon instruction: the ``add``. 22 idef-parser will compile the above code into the following code: 48 instruction belongs, in this case ``A2`` corresponds to the Hexagon 57 - Fill in the output function signature with the correct TCGv registers 58 - Fill in the output function signature with the immediate integers [all …]
|
/openbmc/qemu/ |
H A D | configure | 14 source_path=$(cd "$(dirname -- "$0")"; pwd) 16 if test "$PWD" -ef "$source_path" 20 MARKER=build/auto-created-by-configure 22 if test -e build 24 if test -f $MARKER 26 rm -rf build 36 echo "your source directory, or try doing an out-of-tree build." 41 # This file is auto-generated by configure to support in-source tree 46 @$(MAKE) -C build -f Makefile $(MAKECMDGOALS) 48 test -e build/auto-created-by-configure ; \ [all …]
|
H A D | MAINTAINERS | 10 consult qemu-devel and not any specific individual privately. 23 W: Web-page with status/info 59 ------------------------------ 63 L: qemu-devel@nongnu.org 72 R: Philippe Mathieu-Daudé <philmd@linaro.org> 76 F: docs/devel/code-of-conduct.rst 77 F: docs/devel/conflict-resolution.rst 78 F: docs/devel/submitting-a-patch.rst 79 F: docs/devel/submitting-a-pull-request.rst 82 ------------------------------------------------- [all …]
|
H A D | meson_options.txt | 1 # These options do not correspond to a --enable/--disable-* option 3 # scripts/meson-buildoptions.py's SKIP_OPTIONS constant too. 9 option('qemu_firmwarepath', type : 'array', value : ['share/qemu-firmware'], 12 description: 'use specified string as sub-version of the package') 25 …description: 'set block driver read-write whitelist (by default affects only QEMU, not tools like … 27 …description: 'set block driver read-only whitelist (by default affects only QEMU, not tools like q… 28 option('interp_prefix', type : 'string', value : '/usr/gnemul/qemu-%M', 33 description: 'fuzzing engine library for OSS-Fuzz') 40 # Everything else can be set via --enable/--disable-* option 42 # here make sure to run "make update-buildoptions". [all …]
|
/openbmc/linux/Documentation/kbuild/ |
H A D | llvm.rst | 4 Building Linux with Clang/LLVM 7 This document covers how to build the Linux kernel with Clang and LLVM 11 ----- 13 The Linux kernel has always traditionally been compiled with GNU toolchains 18 <https://www.chromium.org/chromium-os>`_, `OpenMandriva 19 <https://www.openmandriva.org/>`_, and `Chimera Linux 20 <https://chimera-linux.org/>`_ use Clang built kernels. Google's and Meta's 24 objects <https://www.aosabook.org/en/llvm.html>`_. Clang is a front-end to LLVM 26 pronounced "klang," not "see-lang." 29 ------------------ [all …]
|