* [PATCH 0/2] Added the ability to delegate LCOFI to VS @ 2023-12-21 11:36 Vadim Shakirov 2023-12-21 11:36 ` [PATCH 1/2] target/riscv/csr: Rename groups of interrupts Vadim Shakirov ` (2 more replies) 0 siblings, 3 replies; 7+ messages in thread From: Vadim Shakirov @ 2023-12-21 11:36 UTC (permalink / raw) To: qemu-devel Cc: Vadim Shakirov, Palmer Dabbelt, Alistair Francis, Bin Meng, Weiwei Li, Daniel Henrique Barboza, Liu Zhiwei, qemu-riscv This series of patches adds LCOFI delegation from HS-mode to VS-mode. This possibility must be implemented, as in the AIA spec in section 6.3.2 it is indicated in table 6.1 that in the case when the hideleg bit is set, the corresponding vsip bit is an alias to the corresponding sip bit, also for enable registers. Vadim Shakirov (2): target/riscv/csr: Rename groups of interrupts target/riscv/csr: Added the ability to delegate LCOFI to VS target/riscv/csr.c | 50 ++++++++++++++++++++++++++++++---------------- 1 file changed, 33 insertions(+), 17 deletions(-) -- 2.34.1 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/2] target/riscv/csr: Rename groups of interrupts 2023-12-21 11:36 [PATCH 0/2] Added the ability to delegate LCOFI to VS Vadim Shakirov @ 2023-12-21 11:36 ` Vadim Shakirov 2023-12-21 16:03 ` Daniel Henrique Barboza 2023-12-21 11:36 ` [PATCH 2/2] target/riscv/csr: Added the ability to delegate LCOFI to VS Vadim Shakirov 2024-01-04 3:54 ` [PATCH 0/2] " Alistair Francis 2 siblings, 1 reply; 7+ messages in thread From: Vadim Shakirov @ 2023-12-21 11:36 UTC (permalink / raw) To: qemu-devel Cc: Vadim Shakirov, Palmer Dabbelt, Alistair Francis, Bin Meng, Weiwei Li, Daniel Henrique Barboza, Liu Zhiwei, qemu-riscv In AIA spec in 5.1 chapter says that "... the AIA categorizes the counter overflow interrupt (code 13) as a local interrupt. It is assumed furthermore that any future definitions for reserved interrupt numbers 14 and 15 will also be local interrupts" and than LCOFI belongs to LOCAL_INTERRUPTS Signed-off-by: Vadim Shakirov <vadim.shakirov@syntacore.com> --- target/riscv/csr.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/target/riscv/csr.c b/target/riscv/csr.c index d69bff5a67..36f807d5f6 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -1120,18 +1120,18 @@ static RISCVException write_stimecmph(CPURISCVState *env, int csrno, /* Machine constants */ #define M_MODE_INTERRUPTS ((uint64_t)(MIP_MSIP | MIP_MTIP | MIP_MEIP)) -#define S_MODE_INTERRUPTS ((uint64_t)(MIP_SSIP | MIP_STIP | MIP_SEIP | \ - MIP_LCOFIP)) +#define S_MODE_INTERRUPTS ((uint64_t)(MIP_SSIP | MIP_STIP | MIP_SEIP)) #define VS_MODE_INTERRUPTS ((uint64_t)(MIP_VSSIP | MIP_VSTIP | MIP_VSEIP)) #define HS_MODE_INTERRUPTS ((uint64_t)(MIP_SGEIP | VS_MODE_INTERRUPTS)) +#define LOCAL_INTERRUPTS ((uint64_t)(MIP_LCOFIP)) #define VSTOPI_NUM_SRCS 5 static const uint64_t delegable_ints = S_MODE_INTERRUPTS | - VS_MODE_INTERRUPTS; + VS_MODE_INTERRUPTS | LOCAL_INTERRUPTS; static const uint64_t vs_delegable_ints = VS_MODE_INTERRUPTS; static const uint64_t all_ints = M_MODE_INTERRUPTS | S_MODE_INTERRUPTS | - HS_MODE_INTERRUPTS; + HS_MODE_INTERRUPTS | LOCAL_INTERRUPTS; #define DELEGABLE_EXCPS ((1ULL << (RISCV_EXCP_INST_ADDR_MIS)) | \ (1ULL << (RISCV_EXCP_INST_ACCESS_FAULT)) | \ (1ULL << (RISCV_EXCP_ILLEGAL_INST)) | \ @@ -1163,7 +1163,7 @@ static const target_ulong sstatus_v1_10_mask = SSTATUS_SIE | SSTATUS_SPIE | SSTATUS_UIE | SSTATUS_UPIE | SSTATUS_SPP | SSTATUS_FS | SSTATUS_XS | SSTATUS_SUM | SSTATUS_MXR | SSTATUS_VS; static const target_ulong sip_writable_mask = SIP_SSIP | MIP_USIP | MIP_UEIP | - SIP_LCOFIP; + LOCAL_INTERRUPTS; static const target_ulong hip_writable_mask = MIP_VSSIP; static const target_ulong hvip_writable_mask = MIP_VSSIP | MIP_VSTIP | MIP_VSEIP; @@ -2471,7 +2471,7 @@ static RISCVException rmw_sie64(CPURISCVState *env, int csrno, uint64_t new_val, uint64_t wr_mask) { RISCVException ret; - uint64_t mask = env->mideleg & S_MODE_INTERRUPTS; + uint64_t mask = env->mideleg & (S_MODE_INTERRUPTS | LOCAL_INTERRUPTS); if (env->virt_enabled) { if (env->hvictl & HVICTL_VTI) { @@ -2693,7 +2693,7 @@ static RISCVException rmw_sip64(CPURISCVState *env, int csrno, } if (ret_val) { - *ret_val &= env->mideleg & S_MODE_INTERRUPTS; + *ret_val &= env->mideleg & (S_MODE_INTERRUPTS | LOCAL_INTERRUPTS); } return ret; -- 2.34.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] target/riscv/csr: Rename groups of interrupts 2023-12-21 11:36 ` [PATCH 1/2] target/riscv/csr: Rename groups of interrupts Vadim Shakirov @ 2023-12-21 16:03 ` Daniel Henrique Barboza 0 siblings, 0 replies; 7+ messages in thread From: Daniel Henrique Barboza @ 2023-12-21 16:03 UTC (permalink / raw) To: Vadim Shakirov, qemu-devel Cc: Palmer Dabbelt, Alistair Francis, Bin Meng, Weiwei Li, Liu Zhiwei, qemu-riscv On 12/21/23 08:36, Vadim Shakirov wrote: > In AIA spec in 5.1 chapter says that "... the AIA categorizes the counter > overflow interrupt (code 13) as a local interrupt. It is assumed furthermore > that any future definitions for reserved interrupt numbers 14 and 15 will > also be local interrupts" and than LCOFI belongs to LOCAL_INTERRUPTS > > Signed-off-by: Vadim Shakirov <vadim.shakirov@syntacore.com> > --- Reviewed-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com> > target/riscv/csr.c | 14 +++++++------- > 1 file changed, 7 insertions(+), 7 deletions(-) > > diff --git a/target/riscv/csr.c b/target/riscv/csr.c > index d69bff5a67..36f807d5f6 100644 > --- a/target/riscv/csr.c > +++ b/target/riscv/csr.c > @@ -1120,18 +1120,18 @@ static RISCVException write_stimecmph(CPURISCVState *env, int csrno, > /* Machine constants */ > > #define M_MODE_INTERRUPTS ((uint64_t)(MIP_MSIP | MIP_MTIP | MIP_MEIP)) > -#define S_MODE_INTERRUPTS ((uint64_t)(MIP_SSIP | MIP_STIP | MIP_SEIP | \ > - MIP_LCOFIP)) > +#define S_MODE_INTERRUPTS ((uint64_t)(MIP_SSIP | MIP_STIP | MIP_SEIP)) > #define VS_MODE_INTERRUPTS ((uint64_t)(MIP_VSSIP | MIP_VSTIP | MIP_VSEIP)) > #define HS_MODE_INTERRUPTS ((uint64_t)(MIP_SGEIP | VS_MODE_INTERRUPTS)) > +#define LOCAL_INTERRUPTS ((uint64_t)(MIP_LCOFIP)) > > #define VSTOPI_NUM_SRCS 5 > > static const uint64_t delegable_ints = S_MODE_INTERRUPTS | > - VS_MODE_INTERRUPTS; > + VS_MODE_INTERRUPTS | LOCAL_INTERRUPTS; > static const uint64_t vs_delegable_ints = VS_MODE_INTERRUPTS; > static const uint64_t all_ints = M_MODE_INTERRUPTS | S_MODE_INTERRUPTS | > - HS_MODE_INTERRUPTS; > + HS_MODE_INTERRUPTS | LOCAL_INTERRUPTS; > #define DELEGABLE_EXCPS ((1ULL << (RISCV_EXCP_INST_ADDR_MIS)) | \ > (1ULL << (RISCV_EXCP_INST_ACCESS_FAULT)) | \ > (1ULL << (RISCV_EXCP_ILLEGAL_INST)) | \ > @@ -1163,7 +1163,7 @@ static const target_ulong sstatus_v1_10_mask = SSTATUS_SIE | SSTATUS_SPIE | > SSTATUS_UIE | SSTATUS_UPIE | SSTATUS_SPP | SSTATUS_FS | SSTATUS_XS | > SSTATUS_SUM | SSTATUS_MXR | SSTATUS_VS; > static const target_ulong sip_writable_mask = SIP_SSIP | MIP_USIP | MIP_UEIP | > - SIP_LCOFIP; > + LOCAL_INTERRUPTS; > static const target_ulong hip_writable_mask = MIP_VSSIP; > static const target_ulong hvip_writable_mask = MIP_VSSIP | MIP_VSTIP | > MIP_VSEIP; > @@ -2471,7 +2471,7 @@ static RISCVException rmw_sie64(CPURISCVState *env, int csrno, > uint64_t new_val, uint64_t wr_mask) > { > RISCVException ret; > - uint64_t mask = env->mideleg & S_MODE_INTERRUPTS; > + uint64_t mask = env->mideleg & (S_MODE_INTERRUPTS | LOCAL_INTERRUPTS); > > if (env->virt_enabled) { > if (env->hvictl & HVICTL_VTI) { > @@ -2693,7 +2693,7 @@ static RISCVException rmw_sip64(CPURISCVState *env, int csrno, > } > > if (ret_val) { > - *ret_val &= env->mideleg & S_MODE_INTERRUPTS; > + *ret_val &= env->mideleg & (S_MODE_INTERRUPTS | LOCAL_INTERRUPTS); > } > > return ret; ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 2/2] target/riscv/csr: Added the ability to delegate LCOFI to VS 2023-12-21 11:36 [PATCH 0/2] Added the ability to delegate LCOFI to VS Vadim Shakirov 2023-12-21 11:36 ` [PATCH 1/2] target/riscv/csr: Rename groups of interrupts Vadim Shakirov @ 2023-12-21 11:36 ` Vadim Shakirov 2023-12-21 16:03 ` Daniel Henrique Barboza 2024-01-04 3:54 ` [PATCH 0/2] " Alistair Francis 2 siblings, 1 reply; 7+ messages in thread From: Vadim Shakirov @ 2023-12-21 11:36 UTC (permalink / raw) To: qemu-devel Cc: Vadim Shakirov, Palmer Dabbelt, Alistair Francis, Bin Meng, Weiwei Li, Daniel Henrique Barboza, Liu Zhiwei, qemu-riscv In the AIA specification in the paragraph "Virtual interrupts for VS level" it is indicated for interrupts 13-63: if the bit in hideleg is enabled, then the corresponding vsip and vsie bits are aliases to sip and sie Signed-off-by: Vadim Shakirov <vadim.shakirov@syntacore.com> --- target/riscv/csr.c | 36 ++++++++++++++++++++++++++---------- 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/target/riscv/csr.c b/target/riscv/csr.c index 36f807d5f6..46a5d0c69a 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -1129,7 +1129,7 @@ static RISCVException write_stimecmph(CPURISCVState *env, int csrno, static const uint64_t delegable_ints = S_MODE_INTERRUPTS | VS_MODE_INTERRUPTS | LOCAL_INTERRUPTS; -static const uint64_t vs_delegable_ints = VS_MODE_INTERRUPTS; +static const uint64_t vs_delegable_ints = VS_MODE_INTERRUPTS | LOCAL_INTERRUPTS; static const uint64_t all_ints = M_MODE_INTERRUPTS | S_MODE_INTERRUPTS | HS_MODE_INTERRUPTS | LOCAL_INTERRUPTS; #define DELEGABLE_EXCPS ((1ULL << (RISCV_EXCP_INST_ADDR_MIS)) | \ @@ -1167,7 +1167,7 @@ static const target_ulong sip_writable_mask = SIP_SSIP | MIP_USIP | MIP_UEIP | static const target_ulong hip_writable_mask = MIP_VSSIP; static const target_ulong hvip_writable_mask = MIP_VSSIP | MIP_VSTIP | MIP_VSEIP; -static const target_ulong vsip_writable_mask = MIP_VSSIP; +static const target_ulong vsip_writable_mask = MIP_VSSIP | LOCAL_INTERRUPTS; const bool valid_vm_1_10_32[16] = { [VM_1_10_MBARE] = true, @@ -2416,20 +2416,34 @@ static RISCVException write_sstatus(CPURISCVState *env, int csrno, return write_mstatus(env, CSR_MSTATUS, newval); } + +static uint64_t vsi_to_mi(uint64_t vsi) +{ + uint64_t mi; + + mi = (vsi & (VS_MODE_INTERRUPTS >> 1)) << 1; + mi |= vsi & LOCAL_INTERRUPTS; + + return mi; +} + static RISCVException rmw_vsie64(CPURISCVState *env, int csrno, uint64_t *ret_val, uint64_t new_val, uint64_t wr_mask) { RISCVException ret; - uint64_t rval, mask = env->hideleg & VS_MODE_INTERRUPTS; + uint64_t rval, mask = env->hideleg & (VS_MODE_INTERRUPTS | + LOCAL_INTERRUPTS); /* Bring VS-level bits to correct position */ - new_val = (new_val & (VS_MODE_INTERRUPTS >> 1)) << 1; - wr_mask = (wr_mask & (VS_MODE_INTERRUPTS >> 1)) << 1; + new_val = vsi_to_mi(new_val); + wr_mask = vsi_to_mi(wr_mask); ret = rmw_mie64(env, csrno, &rval, new_val, wr_mask & mask); + if (ret_val) { - *ret_val = (rval & mask) >> 1; + *ret_val = (rval & (env->hideleg & VS_MODE_INTERRUPTS)) >> 1; + *ret_val |= rval & (env->hideleg & LOCAL_INTERRUPTS); } return ret; @@ -2630,16 +2644,18 @@ static RISCVException rmw_vsip64(CPURISCVState *env, int csrno, uint64_t new_val, uint64_t wr_mask) { RISCVException ret; - uint64_t rval, mask = env->hideleg & VS_MODE_INTERRUPTS; + uint64_t rval, mask = env->hideleg & (VS_MODE_INTERRUPTS | + LOCAL_INTERRUPTS); /* Bring VS-level bits to correct position */ - new_val = (new_val & (VS_MODE_INTERRUPTS >> 1)) << 1; - wr_mask = (wr_mask & (VS_MODE_INTERRUPTS >> 1)) << 1; + new_val = vsi_to_mi(new_val); + wr_mask = vsi_to_mi(wr_mask); ret = rmw_mip64(env, csrno, &rval, new_val, wr_mask & mask & vsip_writable_mask); if (ret_val) { - *ret_val = (rval & mask) >> 1; + *ret_val = (rval & (env->hideleg & VS_MODE_INTERRUPTS)) >> 1; + *ret_val |= rval & (env->hideleg & LOCAL_INTERRUPTS); } return ret; -- 2.34.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] target/riscv/csr: Added the ability to delegate LCOFI to VS 2023-12-21 11:36 ` [PATCH 2/2] target/riscv/csr: Added the ability to delegate LCOFI to VS Vadim Shakirov @ 2023-12-21 16:03 ` Daniel Henrique Barboza 0 siblings, 0 replies; 7+ messages in thread From: Daniel Henrique Barboza @ 2023-12-21 16:03 UTC (permalink / raw) To: Vadim Shakirov, qemu-devel Cc: Palmer Dabbelt, Alistair Francis, Bin Meng, Weiwei Li, Liu Zhiwei, qemu-riscv On 12/21/23 08:36, Vadim Shakirov wrote: > In the AIA specification in the paragraph "Virtual interrupts for VS level" > it is indicated for interrupts 13-63: if the bit in hideleg is enabled, > then the corresponding vsip and vsie bits are aliases to sip and sie > > Signed-off-by: Vadim Shakirov <vadim.shakirov@syntacore.com> > --- Reviewed-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com> > target/riscv/csr.c | 36 ++++++++++++++++++++++++++---------- > 1 file changed, 26 insertions(+), 10 deletions(-) > > diff --git a/target/riscv/csr.c b/target/riscv/csr.c > index 36f807d5f6..46a5d0c69a 100644 > --- a/target/riscv/csr.c > +++ b/target/riscv/csr.c > @@ -1129,7 +1129,7 @@ static RISCVException write_stimecmph(CPURISCVState *env, int csrno, > > static const uint64_t delegable_ints = S_MODE_INTERRUPTS | > VS_MODE_INTERRUPTS | LOCAL_INTERRUPTS; > -static const uint64_t vs_delegable_ints = VS_MODE_INTERRUPTS; > +static const uint64_t vs_delegable_ints = VS_MODE_INTERRUPTS | LOCAL_INTERRUPTS; > static const uint64_t all_ints = M_MODE_INTERRUPTS | S_MODE_INTERRUPTS | > HS_MODE_INTERRUPTS | LOCAL_INTERRUPTS; > #define DELEGABLE_EXCPS ((1ULL << (RISCV_EXCP_INST_ADDR_MIS)) | \ > @@ -1167,7 +1167,7 @@ static const target_ulong sip_writable_mask = SIP_SSIP | MIP_USIP | MIP_UEIP | > static const target_ulong hip_writable_mask = MIP_VSSIP; > static const target_ulong hvip_writable_mask = MIP_VSSIP | MIP_VSTIP | > MIP_VSEIP; > -static const target_ulong vsip_writable_mask = MIP_VSSIP; > +static const target_ulong vsip_writable_mask = MIP_VSSIP | LOCAL_INTERRUPTS; > > const bool valid_vm_1_10_32[16] = { > [VM_1_10_MBARE] = true, > @@ -2416,20 +2416,34 @@ static RISCVException write_sstatus(CPURISCVState *env, int csrno, > return write_mstatus(env, CSR_MSTATUS, newval); > } > > + > +static uint64_t vsi_to_mi(uint64_t vsi) > +{ > + uint64_t mi; > + > + mi = (vsi & (VS_MODE_INTERRUPTS >> 1)) << 1; > + mi |= vsi & LOCAL_INTERRUPTS; > + > + return mi; > +} > + > static RISCVException rmw_vsie64(CPURISCVState *env, int csrno, > uint64_t *ret_val, > uint64_t new_val, uint64_t wr_mask) > { > RISCVException ret; > - uint64_t rval, mask = env->hideleg & VS_MODE_INTERRUPTS; > + uint64_t rval, mask = env->hideleg & (VS_MODE_INTERRUPTS | > + LOCAL_INTERRUPTS); > > /* Bring VS-level bits to correct position */ > - new_val = (new_val & (VS_MODE_INTERRUPTS >> 1)) << 1; > - wr_mask = (wr_mask & (VS_MODE_INTERRUPTS >> 1)) << 1; > + new_val = vsi_to_mi(new_val); > + wr_mask = vsi_to_mi(wr_mask); > > ret = rmw_mie64(env, csrno, &rval, new_val, wr_mask & mask); > + > if (ret_val) { > - *ret_val = (rval & mask) >> 1; > + *ret_val = (rval & (env->hideleg & VS_MODE_INTERRUPTS)) >> 1; > + *ret_val |= rval & (env->hideleg & LOCAL_INTERRUPTS); > } > > return ret; > @@ -2630,16 +2644,18 @@ static RISCVException rmw_vsip64(CPURISCVState *env, int csrno, > uint64_t new_val, uint64_t wr_mask) > { > RISCVException ret; > - uint64_t rval, mask = env->hideleg & VS_MODE_INTERRUPTS; > + uint64_t rval, mask = env->hideleg & (VS_MODE_INTERRUPTS | > + LOCAL_INTERRUPTS); > > /* Bring VS-level bits to correct position */ > - new_val = (new_val & (VS_MODE_INTERRUPTS >> 1)) << 1; > - wr_mask = (wr_mask & (VS_MODE_INTERRUPTS >> 1)) << 1; > + new_val = vsi_to_mi(new_val); > + wr_mask = vsi_to_mi(wr_mask); > > ret = rmw_mip64(env, csrno, &rval, new_val, > wr_mask & mask & vsip_writable_mask); > if (ret_val) { > - *ret_val = (rval & mask) >> 1; > + *ret_val = (rval & (env->hideleg & VS_MODE_INTERRUPTS)) >> 1; > + *ret_val |= rval & (env->hideleg & LOCAL_INTERRUPTS); > } > > return ret; ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 0/2] Added the ability to delegate LCOFI to VS 2023-12-21 11:36 [PATCH 0/2] Added the ability to delegate LCOFI to VS Vadim Shakirov 2023-12-21 11:36 ` [PATCH 1/2] target/riscv/csr: Rename groups of interrupts Vadim Shakirov 2023-12-21 11:36 ` [PATCH 2/2] target/riscv/csr: Added the ability to delegate LCOFI to VS Vadim Shakirov @ 2024-01-04 3:54 ` Alistair Francis 2024-01-15 9:59 ` Vadim Shakirov 2 siblings, 1 reply; 7+ messages in thread From: Alistair Francis @ 2024-01-04 3:54 UTC (permalink / raw) To: Vadim Shakirov Cc: qemu-devel, Palmer Dabbelt, Alistair Francis, Bin Meng, Weiwei Li, Daniel Henrique Barboza, Liu Zhiwei, qemu-riscv On Fri, Dec 22, 2023 at 1:08 AM Vadim Shakirov <vadim.shakirov@syntacore.com> wrote: > > This series of patches adds LCOFI delegation from HS-mode to VS-mode. > > This possibility must be implemented, as in the AIA spec in section 6.3.2 > it is indicated in table 6.1 that in the case when the hideleg bit is set, > the corresponding vsip bit is an alias to the corresponding sip bit, also > for enable registers. > > Vadim Shakirov (2): > target/riscv/csr: Rename groups of interrupts > target/riscv/csr: Added the ability to delegate LCOFI to VS Thanks for the patch. Do you mind rebasing this on https://github.com/alistair23/qemu/tree/riscv-to-apply.next and sending a new version? Alistair > > target/riscv/csr.c | 50 ++++++++++++++++++++++++++++++---------------- > 1 file changed, 33 insertions(+), 17 deletions(-) > > -- > 2.34.1 > > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 0/2] Added the ability to delegate LCOFI to VS 2024-01-04 3:54 ` [PATCH 0/2] " Alistair Francis @ 2024-01-15 9:59 ` Vadim Shakirov 0 siblings, 0 replies; 7+ messages in thread From: Vadim Shakirov @ 2024-01-15 9:59 UTC (permalink / raw) To: Alistair Francis Cc: qemu-devel@nongnu.org, Palmer Dabbelt, Alistair Francis, Bin Meng, Weiwei Li, Daniel Henrique Barboza, Liu Zhiwei, qemu-riscv@nongnu.org [-- Attachment #1: Type: text/plain, Size: 1477 bytes --] This functionality turns out to have already been added by commit 40336d5b1d4c6b8b8b38c77fda254457d44fe90b Vadim ________________________________ От: Alistair Francis <alistair23@gmail.com> Отправлено: 4 января 2024 г. 6:54:27 Кому: Vadim Shakirov Копия: qemu-devel@nongnu.org; Palmer Dabbelt; Alistair Francis; Bin Meng; Weiwei Li; Daniel Henrique Barboza; Liu Zhiwei; qemu-riscv@nongnu.org Тема: Re: [PATCH 0/2] Added the ability to delegate LCOFI to VS «Внимание! Данное письмо от внешнего адресата!» On Fri, Dec 22, 2023 at 1:08 AM Vadim Shakirov <vadim.shakirov@syntacore.com> wrote: > > This series of patches adds LCOFI delegation from HS-mode to VS-mode. > > This possibility must be implemented, as in the AIA spec in section 6.3.2 > it is indicated in table 6.1 that in the case when the hideleg bit is set, > the corresponding vsip bit is an alias to the corresponding sip bit, also > for enable registers. > > Vadim Shakirov (2): > target/riscv/csr: Rename groups of interrupts > target/riscv/csr: Added the ability to delegate LCOFI to VS Thanks for the patch. Do you mind rebasing this on https://github.com/alistair23/qemu/tree/riscv-to-apply.next and sending a new version? Alistair > > target/riscv/csr.c | 50 ++++++++++++++++++++++++++++++---------------- > 1 file changed, 33 insertions(+), 17 deletions(-) > > -- > 2.34.1 > > [-- Attachment #2: Type: text/html, Size: 3067 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2024-01-15 9:59 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-12-21 11:36 [PATCH 0/2] Added the ability to delegate LCOFI to VS Vadim Shakirov 2023-12-21 11:36 ` [PATCH 1/2] target/riscv/csr: Rename groups of interrupts Vadim Shakirov 2023-12-21 16:03 ` Daniel Henrique Barboza 2023-12-21 11:36 ` [PATCH 2/2] target/riscv/csr: Added the ability to delegate LCOFI to VS Vadim Shakirov 2023-12-21 16:03 ` Daniel Henrique Barboza 2024-01-04 3:54 ` [PATCH 0/2] " Alistair Francis 2024-01-15 9:59 ` Vadim Shakirov
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).