File tree Expand file tree Collapse file tree 4 files changed +27
-0
lines changed Expand file tree Collapse file tree 4 files changed +27
-0
lines changed Original file line number Diff line number Diff line change @@ -205,6 +205,7 @@ ENTRY(_start_kernel)
205
205
li a7, 0x434F5648 /* SBI_EXT_COVH */
206
206
li a6, 0x15 /* SBI_EXT_COVH_PROMOTE_TO_TVM */
207
207
mv a0, a1 /* DTB physical address */
208
+ la a1, __cove_tap_start /* TAP physical address */
208
209
ecall
209
210
/* Attestation reflects the result of promotion, so ignore it */
210
211
mv a0, s0
Original file line number Diff line number Diff line change @@ -106,6 +106,18 @@ SECTIONS
106
106
}
107
107
__init_end = .;
108
108
109
+ #ifdef CONFIG_RISCV_COVE_GUEST
110
+ . = ALIGN(4096 );
111
+ .cove_tvm_attestation_payload : {
112
+ __cove_tap_start = .;
113
+ LONG(0xace0ace0 )
114
+ SHORT(0x0FFA )
115
+ FILL(0x00 )
116
+ . += 4090 ;
117
+ __cove_tap_end = .;
118
+ }
119
+ #endif
120
+
109
121
. = ALIGN(16 );
110
122
.xip.traps : {
111
123
__xip_traps_start = .;
Original file line number Diff line number Diff line change @@ -113,6 +113,18 @@ SECTIONS
113
113
}
114
114
__init_end = .;
115
115
116
+ #ifdef CONFIG_RISCV_COVE_GUEST
117
+ . = ALIGN(4096 );
118
+ .cove_tvm_attestation_payload : {
119
+ __cove_tap_start = .;
120
+ LONG(0xace0ace0 )
121
+ SHORT(0x0FFA )
122
+ FILL(0x00 )
123
+ . += 4090 ;
124
+ __cove_tap_end = .;
125
+ }
126
+ #endif
127
+
116
128
/* Start of data section */
117
129
_sdata = .;
118
130
RO_DATA(SECTION_ALIGN)
Original file line number Diff line number Diff line change @@ -1167,6 +1167,7 @@ int __init early_init_dt_scan_chosen(char *cmdline)
1167
1167
early_init_dt_check_for_initrd (node );
1168
1168
early_init_dt_check_for_elfcorehdr (node );
1169
1169
1170
+ #ifndef CONFIG_RISCV_COVE_GUEST
1170
1171
rng_seed = of_get_flat_dt_prop (node , "rng-seed" , & l );
1171
1172
if (rng_seed && l > 0 ) {
1172
1173
add_bootloader_randomness (rng_seed , l );
@@ -1178,6 +1179,7 @@ int __init early_init_dt_scan_chosen(char *cmdline)
1178
1179
of_fdt_crc32 = crc32_be (~0 , initial_boot_params ,
1179
1180
fdt_totalsize (initial_boot_params ));
1180
1181
}
1182
+ #endif
1181
1183
1182
1184
/* Retrieve command line */
1183
1185
p = of_get_flat_dt_prop (node , "bootargs" , & l );
You can’t perform that action at this time.
0 commit comments