Skip to content

Conversation

@SidManning
Copy link

No description provided.

androm3da and others added 30 commits March 7, 2025 09:56
Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
The BADVA reg is referred to with the wrong identifier.  The
CAUSE reg field of SSR is not yet modeled, we will dump
the SSR in a subsequent commit.

Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
…ags()

Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
These registers are defined in the Qualcomm Hexagon V71 Programmer's
Reference Manual -
https://docs.qualcomm.com/bundle/publicresource/80-N2040-51_REV_AB_Hexagon_V71_ProgrammerS_Reference_Manual.pdf
Refer to §11.9.1 SYSTEM GUEST, §11.9.2 SYSTEM MONITOR.

Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
Also: add nop TCG overrides for break,unpause,fetchbo,dczeroa

break: this hardware breakpoint instruction is used with the in-silicon
debugger feature, this is not modeled.

unpause: this instruction is used to resume hardware threads that are
stalled by pause instructions.  pause is modeled as a nop, or in RR
mode as an EXCP_YIELD.  This instruction is safe to ignore.

Since cache/prefetch functions are not modeled, dczero and fetchbo are
safe to ignore.

Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
This commit provides handlers to generate TCG for guest and system
register reads and writes.  They will be leveraged by a future commit.

Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
Define the register fields for ssr, schedcfg, stid, bestwait, ccr,
modectl, imask, ipendad.

Define the fields for TLB entries.

Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
Define TCG overrides for setprio(), crswap(,sgp{0,1,1:0}).

Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
Define TCG overrides for {c,}swi {c,s}iad, iassign{r,w}, {s,g}etimask
instructions.

Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
Define TCG overrides for start, stop, wait, resume instructions.

Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
Co-authored-by: Sid Manning <sidneym@quicinc.com>
Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
quic-mliebel and others added 9 commits March 7, 2025 10:01
Signed-off-by: Marco Liebel <mliebel@quicinc.com>
The number of parameters for `DEF_MACRO` changed and needed to be
updated too.

Signed-off-by: Marco Liebel <mliebel@quicinc.com>
Signed-off-by: Marco Liebel <mliebel@quicinc.com>
Signed-off-by: Marco Liebel <mliebel@quicinc.com>
Signed-off-by: Marco Liebel <mliebel@quicinc.com>
A single mapping is made by qct-qtimer.c and the extraneous
region caused confusion.

Signed-off-by: Sid Manning <sidneym@quicinc.com>
* TODO: forward the instruction tag to the unimp log?
* TODO: why do we need_env() for these?
* TODO: filter out some attributes?

These instructions are unimplemented for now, they are used by h2.
Signed-off-by: Sid Manning <sidneym@quicinc.com>
Signed-off-by: Sid Manning <sidneym@quicinc.com>
@SidManning SidManning self-assigned this Mar 12, 2025
#define THREADS_MAX 8
#define VECTOR_UNIT_MAX 8
#define MAX_TLB_ENTRIES 1024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we also remove SLOTS_MAX above?

@androm3da
Copy link

Have we already removed max.h downstream?

@quic-mathbern
Copy link

Have we already removed max.h downstream?

Not yet. I'll take this open or just-merged PRs and cherry-pick the changes downstream tomorrow. But Brian has a good point @SidManning , I think we should make an habit of always creating the equivalent MR downstream when we are applying these changes from review comments. I'll try to do that too

@androm3da androm3da force-pushed the hex-next branch 6 times, most recently from a71a0dc to eb2058b Compare March 24, 2025 20:49
@androm3da androm3da force-pushed the hex-next branch 4 times, most recently from e4918c0 to 9db79fe Compare March 30, 2025 03:07
@androm3da androm3da force-pushed the hex-next branch 2 times, most recently from 723a8aa to 892d2ce Compare April 1, 2025 04:23
@androm3da
Copy link

These changes are now incorporated into hex-next, thanks.

@androm3da androm3da closed this Apr 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants