1CXL-CREATE-REGION(1) CXL-CREATE-REGION(1)
2
3
4
6 cxl-create-region - Assemble a CXL region by setting up attributes of
7 its constituent CXL memdevs.
8
10 cxl create-region [<options>]
11
13 A CXL region is composed of one or more slices of CXL memdevs, with
14 configurable interleave settings - both the number of interleave ways,
15 and the interleave granularity.
16
17 For create-region, a size can optionally be specified, but if not, the
18 maximum possible size for each memdev will be used up to the available
19 decode capacity in the system for the given memory type. For persistent
20 regions a UUID can optionally be specified, but if not, one will be
21 generated.
22
23 If the region-creation operation is successful, a region object will be
24 emitted on stdout in JSON format (see examples). If the specified
25 arguments cannot be satisfied with a legal configuration, then an
26 appropriate error will be emitted on stderr.
27
29 #cxl create-region -m -d decoder0.1 -w 2 -g 1024 mem0 mem1
30 {
31 "region":"region0",
32 "resource":"0xc90000000",
33 "size":"512.00 MiB (536.87 MB)",
34 "interleave_ways":2,
35 "interleave_granularity":1024,
36 "mappings":[
37 {
38 "position":1,
39 "decoder":"decoder4.0"
40 },
41 {
42 "position":0,
43 "decoder":"decoder3.0"
44 }
45 ]
46 }
47 created 1 region
48
50 <target(s)>
51 The CXL targets that should be used to form the region. The number
52 of target arguments must match the --ways option (if provided).
53
54 -b, --bus=
55 Restrict the operation to the specified bus.
56
57 -m, --memdevs
58 Indicate that the non-option arguments for target(s) refer to
59 memdev device names. If this option is omitted and no targets are
60 specified then create-region uses the equivalent of cxl list -M -d
61 $decoder internally as the target list. Note that depending on the
62 topology, for example with switches, the automatic target list
63 ordering may not be valid and manual specification of the target
64 list is required.
65
66 -s, --size=
67 Specify the total size for the new region. This is optional, and by
68 default, the maximum possible size will be used. The maximum
69 possible size is gated by both the contiguous free HPA space
70 remaining in the root decoder, and the available DPA space in the
71 component memdevs.
72
73 -t, --type=
74 Specify the region type - pmem or ram. Defaults to pmem.
75
76 -U, --uuid=
77 Specify a UUID for the new region. This shouldn’t usually need to
78 be specified, as one will be generated by default.
79
80 -w, --ways=
81 The number of interleave ways for the new region’s interleave. This
82 should be equal to the number of memdevs specified in --memdevs, if
83 --memdevs is being supplied. If --ways is not specified, it will be
84 determined based on the number of memdev targets provided.
85
86 -g, --granularity=
87 The interleave granularity for the new region. Must match the
88 selected root decoder’s (if provided) granularity. If the root
89 decoder is interleaved across more than one host-bridge then this
90 value must match that granularity. Otherwise, for non-interleaved
91 decode windows, any granularity can be specified as long as all
92 devices support that setting.
93
94 -d, --decoder=
95 The root decoder that the region should be created under. If not
96 supplied, the first cross-host bridge (if available), decoder that
97 supports the largest interleave will be chosen.
98
99 -u, --human
100 By default the command will output machine-friendly raw-integer
101 data. Instead, with this flag, numbers representing storage size
102 will be formatted as human readable strings with units, other
103 fields are converted to hexadecimal strings.
104
105 --debug
106 Turn on additional debug messages including library debug.
107
109 Copyright © 2016 - 2022, Intel Corporation. License GPLv2: GNU GPL
110 version 2 http://gnu.org/licenses/gpl.html. This is free software: you
111 are free to change and redistribute it. There is NO WARRANTY, to the
112 extent permitted by law.
113
115 linkcxl:cxl-list[1],
116
117
118
119 01/13/2023 CXL-CREATE-REGION(1)