29#ifndef __ARCH_RISCV_LINUX_SYSTEM_HH__
30#define __ARCH_RISCV_LINUX_SYSTEM_HH__
36#include "params/RiscvBootloaderKernelWorkload.hh"
37#include "params/RiscvLinux.hh"
82 ByteOrder
byteOrder()
const override {
return ByteOrder::little; }
146 ByteOrder
byteOrder()
const override {
return ByteOrder::little; }
static BaseRemoteGDB * build(ListenSocketConfig listen_config, Args... args)
PCEvent * kernelPanicPcEvent
Event to halt the simulator if the kernel calls panic() or oops_exit()
void addExitOnKernelPanicEvent()
BootloaderKernelWorkload(const Params &p)
void serialize(CheckpointOut &checkpoint) const override
Serialize an object.
loader::SymbolTable kernelSymbolTable
~BootloaderKernelWorkload()
PARAMS(RiscvBootloaderKernelWorkload)
void unserialize(CheckpointIn &checkpoint) override
Unserialize an object.
RiscvSemihosting * getSemihosting() const override
Returns the semihosting interface if supported by the current workload.
PCEvent * kernelOopsPcEvent
const loader::SymbolTable & symtab(ThreadContext *tc) override
void loadKernelSymbolTable()
ByteOrder byteOrder() const override
void startup() override
startup() is the final initialization call before simulation.
const std::string bootArgs
loader::ObjectFile * kernel
Addr getEntry() const override
void loadBootloaderSymbolTable()
loader::Arch getArch() const override
bool insertSymbol(const loader::Symbol &symbol) override
RiscvSemihosting * semihosting
void setSystem(System *sys) override
loader::ObjectFile * bootloader
void initState() override
initState() is called on each SimObject when not restoring from a checkpoint.
void addExitOnKernelOopsEvent()
loader::SymbolTable bootloaderSymbolTable
void setSystem(System *sys) override
void startup() override
startup() is the final initialization call before simulation.
void initState() override
initState() is called on each SimObject when not restoring from a checkpoint.
RiscvSemihosting * semihosting
PCEvent * kernelOopsPcEvent
void addExitOnKernelOopsEvent()
void addExitOnKernelPanicEvent()
PCEvent * kernelPanicPcEvent
Event to halt the simulator if the kernel calls panic() or oops_exit()
RiscvSemihosting * getSemihosting() const override
Returns the semihosting interface if supported by the current workload.
ByteOrder byteOrder() const override
Semihosting for RV32 and RV64.
ThreadContext is the external interface to all thread state for anything outside of the CPU.
virtual void setSystem(System *sys)
bool insert(const Symbol &symbol)
Insert a new symbol in the table if it does not already exist.
const Params & params() const
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
std::ostream CheckpointOut
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.