lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <cf7b97d8-4393-424c-89fc-aa810d907a67@fujitsu.com>
Date: Wed, 2 Apr 2025 06:45:33 +0000
From: "Zhijian Li (Fujitsu)" <lizhijian@...itsu.com>
To: Gregory Price <gourry@...rry.net>, "lsf-pc@...ts.linux-foundation.org"
	<lsf-pc@...ts.linux-foundation.org>
CC: "linux-mm@...ck.org" <linux-mm@...ck.org>, "linux-cxl@...r.kernel.org"
	<linux-cxl@...r.kernel.org>, "linux-kernel@...r.kernel.org"
	<linux-kernel@...r.kernel.org>
Subject: Re: CXL Boot to Bash - Section 2a (Drivers): CXL Decoder Programming

Hi Gregory,


On 07/03/2025 07:56, Gregory Price wrote:
> What if instead, we had two 256MB endpoints on the same host bridge?
> 
> ```
> CEDT
>             Subtable Type : 01 [CXL Fixed Memory Window Structure]
>                  Reserved : 00
>                    Length : 002C
>                  Reserved : 00000000
>       Window base address : 0000000100000000   <- Memory Region
>               Window size : 0000000020000000   <- 512MB
> Interleave Members (2^n) : 00                 <- Not interleaved
> 
> Memory Map:
>    [mem 0x0000000100000000-0x0000000120000000] usable  <- SPA
> 
> Decoders
>                              decoder0.0
>                    range=[0x100000000, 0x120000000]
>                                  |
>                              decoder1.0
>                    range=[0x100000000, 0x120000000]
>                    /                              \
>              decoded2.0                        decoder3.0
>    range=[0x100000000, 0x110000000]   range=[0x110000000, 0x120000000]
> ```

It reminds me that during construct_region(), it requires decoder range in the
switch/host-bridge is exact same with the endpoint decoder. see
match_switch_decoder_by_range()

If so, does following decoders make sense?


  Decoders
                               decoder0.0
                     range=[0x100000000, 0x120000000]
                                   |
                      +------------+-----------+
                     /                          \
                    |      Host-bridge contains  |
              decoder1.0     2 decoders       decoder1.1
      range=[0x100000000, 0x110000000]     range=[0x110000000, 0x120000000]
                     /                              \
               decoded2.0                        decoder3.0
     range=[0x100000000, 0x110000000]   range=[0x110000000, 0x120000000]

Thanks
Zhijian

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ