diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-07 15:05:08 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-07 15:05:08 -0400 |
| commit | d2848c109761e3ccde81a742f4569730254031f8 (patch) | |
| tree | a4b8b541e0b4efb2b03cea8763e667526b94e7f2 /kernel/gsp_sema_service.c | |
| parent | 0c040b3b8925d01b3e1615b08c4cd6ec7f18d7d4 (diff) | |
| download | open-iov-d2848c109761e3ccde81a742f4569730254031f8.tar.gz open-iov-d2848c109761e3ccde81a742f4569730254031f8.zip | |
vgsp: m106 - pre-install the data PT window pool in stage 3 (pre-commit)
Post-commit UPDATE_PDE_2 installs are accepted (status 0x0) but ineffective
(m94's scratch windows, m101-m105's reloc windows: the SM never resolves
them), while the stage-3 ctx-window installs are honoured. Add a fixed
32-window pool at GSP_PHYS_RMCALL_VA_GR_DATA_BASE (0x100000000 + k<<21,
inside the server-managed region), each backed by a module PT page
installed through UPDATE_PDE_2 during stage 3; the engine data map then
only writes leaf PTEs into those fresh PT pages at launch (the P6b-proven
'direct leaf write into a walker-installed fresh table' pattern). The mail
injection uses the reserved last window (k=31); service data windows cap
at 31 and use the same fixed layout.
Diffstat (limited to 'kernel/gsp_sema_service.c')
| -rw-r--r-- | kernel/gsp_sema_service.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/gsp_sema_service.c b/kernel/gsp_sema_service.c index dfc9922..844d2c9 100644 --- a/kernel/gsp_sema_service.c +++ b/kernel/gsp_sema_service.c @@ -3263,7 +3263,7 @@ struct svc_gr_data { * managed region at an affine-relocated VA and the pointers in the bank * pages are rewritten to match. */ -#define SVC_GR_DATA_WINS_MAX 64 +#define SVC_GR_DATA_WINS_MAX 31 struct svc_gr_data_win { u64 va_base; /* guest window base (2 MB aligned) */ u64 reloc_base; /* relocated window base */ |
