History log of /XiangShan/src/main/scala/xiangshan/cache/mmu/MMUConst.scala (Results 1 – 25 of 69)
Revision Date Author Comments
# 6aa6d737 13-Mar-2025 Haoyuan Feng <[email protected]>

fix(PTW): High bits of GVPN should not be truncated (#4406)


# f9395f72 11-Mar-2025 Haoyuan Feng <[email protected]>

feat(PTWCache): Support a more precise flush for L2 TLB entries (#4390)

In the previous design, since we stored asid/vmid and vaddr information
in SRAM, it was not possible to simply read out all th

feat(PTWCache): Support a more precise flush for L2 TLB entries (#4390)

In the previous design, since we stored asid/vmid and vaddr information
in SRAM, it was not possible to simply read out all the information in a
single cycle for comparison with the parameters of sfence/hfence. As a
result, for L2 TLB entries, we ignored the rs1/rs2 parameters passed by
sfence/hfence and instead flushed all valid entries, regardless of
asid/vmid or vaddr.

However, this caused unnecessary flushing of a large number of entries
during process switching in virtualized environments, leading to L2 TLB
misses after a process switch. This forced the processor to perform a
page table walk in memory again, negatively impacting performance.

In this commit, asid/vmid and vaddr are hashed and stored in the
register file. When an sfence/hfence signal is received, these stored
values are compared against the incoming parameters, allowing for a more
precise TLB flush.

show more ...


# 8882eb68 21-Feb-2025 Xin Tian <[email protected]>

feat(bitmap/memenc): support memory isolation by bitmap checking and memory encrpty used SM4-XTS (#3980)

- Add bitmap module in MMU for memory isolation
- Add memory encryption module based on AXI p

feat(bitmap/memenc): support memory isolation by bitmap checking and memory encrpty used SM4-XTS (#3980)

- Add bitmap module in MMU for memory isolation
- Add memory encryption module based on AXI protoco
- Can don't using these modules by setting the option `HasMEMencryption`
& `HasBitmapCheck` to false

show more ...


# 718a93f5 03-Jan-2025 Haoyuan Feng <[email protected]>

feat(Svnapot): support Svnapot extension (#4107)


# d4265a7f 11-Dec-2024 Haoyuan Feng <[email protected]>

area(PTWCache): reduce l2tlb entries from 2k to 1k (#4003)

Previous design: l0 32 sets * 8 ways * 8 entries = 2048; l1 8 sets * 4 ways * 8 entries = 512

Modified: l0 32 sets * 4 ways * 8 entries

area(PTWCache): reduce l2tlb entries from 2k to 1k (#4003)

Previous design: l0 32 sets * 8 ways * 8 entries = 2048; l1 8 sets * 4 ways * 8 entries = 512

Modified: l0 32 sets * 4 ways * 8 entries = 1024; l1 8 sets * 2 ways * 8 entries = 256

Performance drops by 0.09% in spec06 with 0.3 coverage.

show more ...


# 189833a1 05-Dec-2024 Haoyuan Feng <[email protected]>

feat(pointer masking): support Ssnpm & Smnpm & Smmpm (#3921)

feat(pointer masking): support Ssnpm & Smnpm & Smmpm


# 7acf8b76 14-Sep-2024 Xiaokun-Pei <[email protected]>

fix(L1TLB, RVH): fix the wrong pf because the perm check of fake pte (#3553)


# 3019ba8f 12-Sep-2024 zhanglinjuan <[email protected]>

chore(MMUConst): raise time out threshold (#3549)

With CHI enabled and CMN connected, a transaction may easily last over
10,000 cycles. This commit raises the time out threshold of PTW to
100,000

chore(MMUConst): raise time out threshold (#3549)

With CHI enabled and CMN connected, a transaction may easily last over
10,000 cycles. This commit raises the time out threshold of PTW to
100,000 cycles.

show more ...


# abc4432b 09-Sep-2024 Haoyuan Feng <[email protected]>

feat(PTWCache): split Page Cache SRAM (#3503)

l0: 32 * 3624 -> 32 * (16 * 228), fill 24 reserved bits
waySplit = 4, dataSplit = 4
l1: 8 * 1560 -> 8 * (8 * 200), fill 40 reserved bits
wayS

feat(PTWCache): split Page Cache SRAM (#3503)

l0: 32 * 3624 -> 32 * (16 * 228), fill 24 reserved bits
waySplit = 4, dataSplit = 4
l1: 8 * 1560 -> 8 * (8 * 200), fill 40 reserved bits
waySplit = 2, dataSplit = 4

also, minimalconfig need different reservedBits (for l0 and l1, 0 & 1),
just for requirement in SplittedSRAM.

show more ...


# 08ae0d20 04-Sep-2024 Xiaokun-Pei <[email protected]>

fix(PTW): fix the bug that gpf does't happen when gpaddr high bits check fails in onlyStage2 (#3481)

checking the high bits of gpaddr need according to the mode of hgatp
rather than the mode of vsa

fix(PTW): fix the bug that gpf does't happen when gpaddr high bits check fails in onlyStage2 (#3481)

checking the high bits of gpaddr need according to the mode of hgatp
rather than the mode of vsatp

show more ...


# 002c10a4 26-Aug-2024 Yanqin Li <[email protected]>

svpbmt: add simplified support (#3404)

Only the `pbmt` attribute is added and treated as MMIO when `pbmt` is NC
or IO.

---------

Co-authored-by: ngc7331 <[email protected]>


# 97929664 23-Aug-2024 Xiaokun-Pei <[email protected]>

MMU, RVH: add the check of gpaddr high bits and fix some bugs (#3348)


# 3ea4388c 20-Aug-2024 Haoyuan Feng <[email protected]>

RVA23: Support Sv48 & Sv48x4 (#3406)

Co-authored-by: Xuan Hu <[email protected]>


# e3da8bad 22-Jul-2024 Tang Haojin <[email protected]>

build: purge chisel 3 and add deprecation check (#3250)


# 4c0e0181 01-Jul-2024 Xiaokun-Pei <[email protected]>

L2TLB, RVH: change ppnlen from 24 to 29 for the first stage translation in two stage translation (#3121)

The first stage is sv39 and the second stage is sv39x4. Before Xiangshan
realizes H extensio

L2TLB, RVH: change ppnlen from 24 to 29 for the first stage translation in two stage translation (#3121)

The first stage is sv39 and the second stage is sv39x4. Before Xiangshan
realizes H extension, the paddr is 36 bits, so ppnlen is 24 bits. After
Xiangshan realizes H extension, the ppnlen of stage 1 should be 29 bits
because the paddr of stage 1 is gpaddr for host and gpaddr is 41 bits. I
add the gvpnlen to replace the ppnlen of stage 1 in L2TLB.

show more ...


# a4d1b2d1 13-May-2024 good-circle <[email protected]>

Merge branch 'master' into vlsu-merge-master-0504


# ff74867b 09-May-2024 Yangyu Chen <[email protected]>

Parameters: replace val with def in trait HasXSParametes (#2952)

This will make FIR elaboration much faster.

Signed-off-by: Yangyu Chen <[email protected]>


# 25df626e 04-May-2024 good-circle <[email protected]>

Merge branch 'master' into vlsu-tmp-master


# 26af847e 25-Mar-2024 good-circle <[email protected]>

rv64v: implement lsu & lsq vector datapath


# 0c002899 16-Apr-2024 huxuan0307 <[email protected]>

Prepare to merge master (#2814)


# eef81af7 15-Apr-2024 Haoyuan Feng <[email protected]>

PTW, PageCache: set ECC disable by default (#2882)

It should be noted that this commit will change SRAM width between ecc
enable and unable.


# e25e4d90 11-Apr-2024 Xuan Hu <[email protected]>

Merge remote-tracking branch 'upstream/master' into tmp-master

TODO: add gpaddr data path from frontend to backend


# b436d3b6 25-Mar-2024 peixiaokun <[email protected]>

RVH: fix the errors after git rebase


# b24e0a78 02-Oct-2023 peixiaokun <[email protected]>

PTW: fix a bug about hpaddr which ptw send to hptw


# 2a4a3520 23-Sep-2023 peixiaokun <[email protected]>

page cache: fix a bug about compare tag with vpn in sp hit check


123