Parse attributes in extended VTL0 APIs - #653

Open
Femi Adeyemi (femiatl) wants to merge 3 commits into
mainfrom
femia/lvbs/pagewalk
Open

Parse attributes in extended VTL0 APIs#653
Femi Adeyemi (femiatl) wants to merge 3 commits into
mainfrom
femia/lvbs/pagewalk

Conversation

@femiatl

Copy link
Copy Markdown
Contributor

VTL0 sends data to the secure kernel during and after initial boot. Use the new attributes parameter to extend load_kdata, allowing it to process data after boot and use the improved format for sending data from VTL0. Small, simple data buffers like certificates can be sent efficiently with the same APIs used for larger aggregated data like module info.

The new data format is leveraged to reduce the size of the kernel string table passed from ~10MB (all of rodata) to ~250KB.

The validate_module and validate_kexec APIs are extended to use the new attributes.

@sangho2

Copy link
Copy Markdown
Contributor

Femi Adeyemi (@femiatl) Could you please resolve the conflicts such that CI can work on this PR.

@femiatl
Femi Adeyemi (femiatl)force-pushed the femia/lvbs/pagewalk branch 3 times, most recently from 54e3a52 to d4626b2CompareFebruary 11, 2026 02:49
@sangho2

Sangho Lee (sangho2) commented Feb 13, 2026

Copy link
Copy Markdown
Contributor

It seems that this change is based on new ABI to simplify data transfer. Good idea! As tgopinath-microsoft noted in #652, this cannot be merged yet.

One overall feedback or requested change: This PR needs some detailed comments to explain new ABI and data structures. Also, some functions are with old comments (e.g., these functions no longer get nranges), and some other functions are without any comments.

Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs
Comment threadlitebox_platform_lvbs/src/mshv/vsm.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/vsm.rs
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/vsm.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/vsm.rs Outdated
@femiatl
Femi Adeyemi (femiatl)force-pushed the femia/lvbs/pagewalk branch 2 times, most recently from 3a4f589 to 73eb949CompareFebruary 23, 2026 16:17
VTL0 sends data to the secure kernel during and after initial boot.
Use the new attributes parameter to extend load_kdata, allowing it
to process data after boot and use the improved format for sending
data from VTL0. Small, simple data buffers like certificates can be
sent efficiently with the same APIs used for larger aggregated data
like module info.
The new data format is leveraged to reduce the size of the kernel
string table passed from ~10MB (all of rodata) to ~250KB.
The validate_module and validate_kexec APIs are extended to use the
new attributes.
- Updata modular_field crate to latest to fix warnings
- Rename attr field in HekiData range to mem_attr to reflect usage
- Resize HekiDatRange to take more ranges per page
- Rename and refactor HekiDataAttr to HekiDataApiAttr to clarify usage
- Add comments for updated public functions and update parameter names
- Add convenience data page iterator to simplyfy processing
Latest modular_bitfield generates warnings
@github-actions

Copy link
Copy Markdown

🤖 SemverChecks 🤖 ⚠️ Potential breaking API changes detected ⚠️

Click for details
--- failure function_parameter_count_changed: pub fn parameter count changed ---
Description:
A publicly-visible function now takes a different number of parameters.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#fn-change-arity
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/function_parameter_count_changed.ron
Failed in:
litebox_platform_lvbs::mshv::vsm::mshv_vsm_protect_memory now takes 3 parameters instead of 2, in /home/runner/work/litebox/litebox/litebox_platform_lvbs/src/mshv/vsm.rs:266
litebox_platform_lvbs::mshv::vsm::mshv_vsm_load_kdata now takes 3 parameters instead of 2, in /home/runner/work/litebox/litebox/litebox_platform_lvbs/src/mshv/vsm.rs:348
--- failure inherent_method_missing: pub method removed or renamed ---
Description:
A publicly-visible method or associated fn is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/inherent_method_missing.ron
Failed in:
Symbol::from_bytes, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/075ab7c6d077e0d81bb34571e3dec9b66e93a36a/litebox_platform_lvbs/src/mshv/vsm.rs:1766
--- failure method_parameter_count_changed: pub method parameter count changed ---
Description:
A publicly-visible method now takes a different number of parameters, not counting the receiver (self) parameter.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#fn-change-arity
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/method_parameter_count_changed.ron
Failed in:
litebox_platform_lvbs::mshv::vsm::SymbolTable::build_from_container now takes 2 parameters instead of 4, in /home/runner/work/litebox/litebox/litebox_platform_lvbs/src/mshv/vsm.rs:1864

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@femiatl@sangho2
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Parse attributes in extended VTL0 APIs - #653

Open
Femi Adeyemi (femiatl) wants to merge 3 commits into
mainfrom
femia/lvbs/pagewalk
Open

Parse attributes in extended VTL0 APIs#653
Femi Adeyemi (femiatl) wants to merge 3 commits into
mainfrom
femia/lvbs/pagewalk

Conversation

@femiatl

Copy link
Copy Markdown
Contributor

VTL0 sends data to the secure kernel during and after initial boot. Use the new attributes parameter to extend load_kdata, allowing it to process data after boot and use the improved format for sending data from VTL0. Small, simple data buffers like certificates can be sent efficiently with the same APIs used for larger aggregated data like module info.

The new data format is leveraged to reduce the size of the kernel string table passed from ~10MB (all of rodata) to ~250KB.

The validate_module and validate_kexec APIs are extended to use the new attributes.

@sangho2

Copy link
Copy Markdown
Contributor

Femi Adeyemi (@femiatl) Could you please resolve the conflicts such that CI can work on this PR.

@femiatl
Femi Adeyemi (femiatl)force-pushed the femia/lvbs/pagewalk branch 3 times, most recently from 54e3a52 to d4626b2CompareFebruary 11, 2026 02:49
@sangho2

Sangho Lee (sangho2) commented Feb 13, 2026

Copy link
Copy Markdown
Contributor

It seems that this change is based on new ABI to simplify data transfer. Good idea! As tgopinath-microsoft noted in #652, this cannot be merged yet.

One overall feedback or requested change: This PR needs some detailed comments to explain new ABI and data structures. Also, some functions are with old comments (e.g., these functions no longer get nranges), and some other functions are without any comments.

Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs
Comment threadlitebox_platform_lvbs/src/mshv/vsm.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/vsm.rs
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/vsm.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/vsm.rs Outdated
@femiatl
Femi Adeyemi (femiatl)force-pushed the femia/lvbs/pagewalk branch 2 times, most recently from 3a4f589 to 73eb949CompareFebruary 23, 2026 16:17
VTL0 sends data to the secure kernel during and after initial boot.
Use the new attributes parameter to extend load_kdata, allowing it
to process data after boot and use the improved format for sending
data from VTL0. Small, simple data buffers like certificates can be
sent efficiently with the same APIs used for larger aggregated data
like module info.
The new data format is leveraged to reduce the size of the kernel
string table passed from ~10MB (all of rodata) to ~250KB.
The validate_module and validate_kexec APIs are extended to use the
new attributes.
- Updata modular_field crate to latest to fix warnings
- Rename attr field in HekiData range to mem_attr to reflect usage
- Resize HekiDatRange to take more ranges per page
- Rename and refactor HekiDataAttr to HekiDataApiAttr to clarify usage
- Add comments for updated public functions and update parameter names
- Add convenience data page iterator to simplyfy processing
Latest modular_bitfield generates warnings
@github-actions

Copy link
Copy Markdown

🤖 SemverChecks 🤖 ⚠️ Potential breaking API changes detected ⚠️

Click for details
--- failure function_parameter_count_changed: pub fn parameter count changed ---
Description:
A publicly-visible function now takes a different number of parameters.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#fn-change-arity
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/function_parameter_count_changed.ron
Failed in:
litebox_platform_lvbs::mshv::vsm::mshv_vsm_protect_memory now takes 3 parameters instead of 2, in /home/runner/work/litebox/litebox/litebox_platform_lvbs/src/mshv/vsm.rs:266
litebox_platform_lvbs::mshv::vsm::mshv_vsm_load_kdata now takes 3 parameters instead of 2, in /home/runner/work/litebox/litebox/litebox_platform_lvbs/src/mshv/vsm.rs:348
--- failure inherent_method_missing: pub method removed or renamed ---
Description:
A publicly-visible method or associated fn is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/inherent_method_missing.ron
Failed in:
Symbol::from_bytes, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/075ab7c6d077e0d81bb34571e3dec9b66e93a36a/litebox_platform_lvbs/src/mshv/vsm.rs:1766
--- failure method_parameter_count_changed: pub method parameter count changed ---
Description:
A publicly-visible method now takes a different number of parameters, not counting the receiver (self) parameter.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#fn-change-arity
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/method_parameter_count_changed.ron
Failed in:
litebox_platform_lvbs::mshv::vsm::SymbolTable::build_from_container now takes 2 parameters instead of 4, in /home/runner/work/litebox/litebox/litebox_platform_lvbs/src/mshv/vsm.rs:1864

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@femiatl@sangho2
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Parse attributes in extended VTL0 APIs - #653

Open
Femi Adeyemi (femiatl) wants to merge 3 commits into
mainfrom
femia/lvbs/pagewalk
Open

Parse attributes in extended VTL0 APIs#653
Femi Adeyemi (femiatl) wants to merge 3 commits into
mainfrom
femia/lvbs/pagewalk

Conversation

@femiatl

Copy link
Copy Markdown
Contributor

VTL0 sends data to the secure kernel during and after initial boot. Use the new attributes parameter to extend load_kdata, allowing it to process data after boot and use the improved format for sending data from VTL0. Small, simple data buffers like certificates can be sent efficiently with the same APIs used for larger aggregated data like module info.

The new data format is leveraged to reduce the size of the kernel string table passed from ~10MB (all of rodata) to ~250KB.

The validate_module and validate_kexec APIs are extended to use the new attributes.

@sangho2

Copy link
Copy Markdown
Contributor

Femi Adeyemi (@femiatl) Could you please resolve the conflicts such that CI can work on this PR.

@femiatl
Femi Adeyemi (femiatl)force-pushed the femia/lvbs/pagewalk branch 3 times, most recently from 54e3a52 to d4626b2CompareFebruary 11, 2026 02:49
@sangho2

Sangho Lee (sangho2) commented Feb 13, 2026

Copy link
Copy Markdown
Contributor

It seems that this change is based on new ABI to simplify data transfer. Good idea! As tgopinath-microsoft noted in #652, this cannot be merged yet.

One overall feedback or requested change: This PR needs some detailed comments to explain new ABI and data structures. Also, some functions are with old comments (e.g., these functions no longer get nranges), and some other functions are without any comments.

Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs
Comment threadlitebox_platform_lvbs/src/mshv/vsm.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/vsm.rs
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/vsm.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/vsm.rs Outdated
@femiatl
Femi Adeyemi (femiatl)force-pushed the femia/lvbs/pagewalk branch 2 times, most recently from 3a4f589 to 73eb949CompareFebruary 23, 2026 16:17
VTL0 sends data to the secure kernel during and after initial boot.
Use the new attributes parameter to extend load_kdata, allowing it
to process data after boot and use the improved format for sending
data from VTL0. Small, simple data buffers like certificates can be
sent efficiently with the same APIs used for larger aggregated data
like module info.
The new data format is leveraged to reduce the size of the kernel
string table passed from ~10MB (all of rodata) to ~250KB.
The validate_module and validate_kexec APIs are extended to use the
new attributes.
- Updata modular_field crate to latest to fix warnings
- Rename attr field in HekiData range to mem_attr to reflect usage
- Resize HekiDatRange to take more ranges per page
- Rename and refactor HekiDataAttr to HekiDataApiAttr to clarify usage
- Add comments for updated public functions and update parameter names
- Add convenience data page iterator to simplyfy processing
Latest modular_bitfield generates warnings
@github-actions

Copy link
Copy Markdown

🤖 SemverChecks 🤖 ⚠️ Potential breaking API changes detected ⚠️

Click for details
--- failure function_parameter_count_changed: pub fn parameter count changed ---
Description:
A publicly-visible function now takes a different number of parameters.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#fn-change-arity
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/function_parameter_count_changed.ron
Failed in:
litebox_platform_lvbs::mshv::vsm::mshv_vsm_protect_memory now takes 3 parameters instead of 2, in /home/runner/work/litebox/litebox/litebox_platform_lvbs/src/mshv/vsm.rs:266
litebox_platform_lvbs::mshv::vsm::mshv_vsm_load_kdata now takes 3 parameters instead of 2, in /home/runner/work/litebox/litebox/litebox_platform_lvbs/src/mshv/vsm.rs:348
--- failure inherent_method_missing: pub method removed or renamed ---
Description:
A publicly-visible method or associated fn is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/inherent_method_missing.ron
Failed in:
Symbol::from_bytes, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/075ab7c6d077e0d81bb34571e3dec9b66e93a36a/litebox_platform_lvbs/src/mshv/vsm.rs:1766
--- failure method_parameter_count_changed: pub method parameter count changed ---
Description:
A publicly-visible method now takes a different number of parameters, not counting the receiver (self) parameter.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#fn-change-arity
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/method_parameter_count_changed.ron
Failed in:
litebox_platform_lvbs::mshv::vsm::SymbolTable::build_from_container now takes 2 parameters instead of 4, in /home/runner/work/litebox/litebox/litebox_platform_lvbs/src/mshv/vsm.rs:1864

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@femiatl@sangho2
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Parse attributes in extended VTL0 APIs - #653

Open
Femi Adeyemi (femiatl) wants to merge 3 commits into
mainfrom
femia/lvbs/pagewalk
Open

Parse attributes in extended VTL0 APIs#653
Femi Adeyemi (femiatl) wants to merge 3 commits into
mainfrom
femia/lvbs/pagewalk

Conversation

@femiatl

Copy link
Copy Markdown
Contributor

VTL0 sends data to the secure kernel during and after initial boot. Use the new attributes parameter to extend load_kdata, allowing it to process data after boot and use the improved format for sending data from VTL0. Small, simple data buffers like certificates can be sent efficiently with the same APIs used for larger aggregated data like module info.

The new data format is leveraged to reduce the size of the kernel string table passed from ~10MB (all of rodata) to ~250KB.

The validate_module and validate_kexec APIs are extended to use the new attributes.

@sangho2

Copy link
Copy Markdown
Contributor

Femi Adeyemi (@femiatl) Could you please resolve the conflicts such that CI can work on this PR.

@femiatl
Femi Adeyemi (femiatl)force-pushed the femia/lvbs/pagewalk branch 3 times, most recently from 54e3a52 to d4626b2CompareFebruary 11, 2026 02:49
@sangho2

Sangho Lee (sangho2) commented Feb 13, 2026

Copy link
Copy Markdown
Contributor

It seems that this change is based on new ABI to simplify data transfer. Good idea! As tgopinath-microsoft noted in #652, this cannot be merged yet.

One overall feedback or requested change: This PR needs some detailed comments to explain new ABI and data structures. Also, some functions are with old comments (e.g., these functions no longer get nranges), and some other functions are without any comments.

Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs
Comment threadlitebox_platform_lvbs/src/mshv/vsm.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/vsm.rs
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/vsm.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/vsm.rs Outdated
@femiatl
Femi Adeyemi (femiatl)force-pushed the femia/lvbs/pagewalk branch 2 times, most recently from 3a4f589 to 73eb949CompareFebruary 23, 2026 16:17
VTL0 sends data to the secure kernel during and after initial boot.
Use the new attributes parameter to extend load_kdata, allowing it
to process data after boot and use the improved format for sending
data from VTL0. Small, simple data buffers like certificates can be
sent efficiently with the same APIs used for larger aggregated data
like module info.
The new data format is leveraged to reduce the size of the kernel
string table passed from ~10MB (all of rodata) to ~250KB.
The validate_module and validate_kexec APIs are extended to use the
new attributes.
- Updata modular_field crate to latest to fix warnings
- Rename attr field in HekiData range to mem_attr to reflect usage
- Resize HekiDatRange to take more ranges per page
- Rename and refactor HekiDataAttr to HekiDataApiAttr to clarify usage
- Add comments for updated public functions and update parameter names
- Add convenience data page iterator to simplyfy processing
Latest modular_bitfield generates warnings
@github-actions

Copy link
Copy Markdown

🤖 SemverChecks 🤖 ⚠️ Potential breaking API changes detected ⚠️

Click for details
--- failure function_parameter_count_changed: pub fn parameter count changed ---
Description:
A publicly-visible function now takes a different number of parameters.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#fn-change-arity
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/function_parameter_count_changed.ron
Failed in:
litebox_platform_lvbs::mshv::vsm::mshv_vsm_protect_memory now takes 3 parameters instead of 2, in /home/runner/work/litebox/litebox/litebox_platform_lvbs/src/mshv/vsm.rs:266
litebox_platform_lvbs::mshv::vsm::mshv_vsm_load_kdata now takes 3 parameters instead of 2, in /home/runner/work/litebox/litebox/litebox_platform_lvbs/src/mshv/vsm.rs:348
--- failure inherent_method_missing: pub method removed or renamed ---
Description:
A publicly-visible method or associated fn is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/inherent_method_missing.ron
Failed in:
Symbol::from_bytes, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/075ab7c6d077e0d81bb34571e3dec9b66e93a36a/litebox_platform_lvbs/src/mshv/vsm.rs:1766
--- failure method_parameter_count_changed: pub method parameter count changed ---
Description:
A publicly-visible method now takes a different number of parameters, not counting the receiver (self) parameter.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#fn-change-arity
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/method_parameter_count_changed.ron
Failed in:
litebox_platform_lvbs::mshv::vsm::SymbolTable::build_from_container now takes 2 parameters instead of 4, in /home/runner/work/litebox/litebox/litebox_platform_lvbs/src/mshv/vsm.rs:1864

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@femiatl@sangho2
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Parse attributes in extended VTL0 APIs - #653

Open
Femi Adeyemi (femiatl) wants to merge 3 commits into
mainfrom
femia/lvbs/pagewalk
Open

Parse attributes in extended VTL0 APIs#653
Femi Adeyemi (femiatl) wants to merge 3 commits into
mainfrom
femia/lvbs/pagewalk

Conversation

@femiatl

Copy link
Copy Markdown
Contributor

VTL0 sends data to the secure kernel during and after initial boot. Use the new attributes parameter to extend load_kdata, allowing it to process data after boot and use the improved format for sending data from VTL0. Small, simple data buffers like certificates can be sent efficiently with the same APIs used for larger aggregated data like module info.

The new data format is leveraged to reduce the size of the kernel string table passed from ~10MB (all of rodata) to ~250KB.

The validate_module and validate_kexec APIs are extended to use the new attributes.

@sangho2

Copy link
Copy Markdown
Contributor

Femi Adeyemi (@femiatl) Could you please resolve the conflicts such that CI can work on this PR.

@femiatl
Femi Adeyemi (femiatl)force-pushed the femia/lvbs/pagewalk branch 3 times, most recently from 54e3a52 to d4626b2CompareFebruary 11, 2026 02:49
@sangho2

Sangho Lee (sangho2) commented Feb 13, 2026

Copy link
Copy Markdown
Contributor

It seems that this change is based on new ABI to simplify data transfer. Good idea! As tgopinath-microsoft noted in #652, this cannot be merged yet.

One overall feedback or requested change: This PR needs some detailed comments to explain new ABI and data structures. Also, some functions are with old comments (e.g., these functions no longer get nranges), and some other functions are without any comments.

Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs
Comment threadlitebox_platform_lvbs/src/mshv/vsm.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/vsm.rs
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/vsm.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/vsm.rs Outdated
@femiatl
Femi Adeyemi (femiatl)force-pushed the femia/lvbs/pagewalk branch 2 times, most recently from 3a4f589 to 73eb949CompareFebruary 23, 2026 16:17
VTL0 sends data to the secure kernel during and after initial boot.
Use the new attributes parameter to extend load_kdata, allowing it
to process data after boot and use the improved format for sending
data from VTL0. Small, simple data buffers like certificates can be
sent efficiently with the same APIs used for larger aggregated data
like module info.
The new data format is leveraged to reduce the size of the kernel
string table passed from ~10MB (all of rodata) to ~250KB.
The validate_module and validate_kexec APIs are extended to use the
new attributes.
- Updata modular_field crate to latest to fix warnings
- Rename attr field in HekiData range to mem_attr to reflect usage
- Resize HekiDatRange to take more ranges per page
- Rename and refactor HekiDataAttr to HekiDataApiAttr to clarify usage
- Add comments for updated public functions and update parameter names
- Add convenience data page iterator to simplyfy processing
Latest modular_bitfield generates warnings
@github-actions

Copy link
Copy Markdown

🤖 SemverChecks 🤖 ⚠️ Potential breaking API changes detected ⚠️

Click for details
--- failure function_parameter_count_changed: pub fn parameter count changed ---
Description:
A publicly-visible function now takes a different number of parameters.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#fn-change-arity
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/function_parameter_count_changed.ron
Failed in:
litebox_platform_lvbs::mshv::vsm::mshv_vsm_protect_memory now takes 3 parameters instead of 2, in /home/runner/work/litebox/litebox/litebox_platform_lvbs/src/mshv/vsm.rs:266
litebox_platform_lvbs::mshv::vsm::mshv_vsm_load_kdata now takes 3 parameters instead of 2, in /home/runner/work/litebox/litebox/litebox_platform_lvbs/src/mshv/vsm.rs:348
--- failure inherent_method_missing: pub method removed or renamed ---
Description:
A publicly-visible method or associated fn is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/inherent_method_missing.ron
Failed in:
Symbol::from_bytes, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/075ab7c6d077e0d81bb34571e3dec9b66e93a36a/litebox_platform_lvbs/src/mshv/vsm.rs:1766
--- failure method_parameter_count_changed: pub method parameter count changed ---
Description:
A publicly-visible method now takes a different number of parameters, not counting the receiver (self) parameter.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#fn-change-arity
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/method_parameter_count_changed.ron
Failed in:
litebox_platform_lvbs::mshv::vsm::SymbolTable::build_from_container now takes 2 parameters instead of 4, in /home/runner/work/litebox/litebox/litebox_platform_lvbs/src/mshv/vsm.rs:1864

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@femiatl@sangho2
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Parse attributes in extended VTL0 APIs - #653

Open
Femi Adeyemi (femiatl) wants to merge 3 commits into
mainfrom
femia/lvbs/pagewalk
Open

Parse attributes in extended VTL0 APIs#653
Femi Adeyemi (femiatl) wants to merge 3 commits into
mainfrom
femia/lvbs/pagewalk

Conversation

@femiatl

Copy link
Copy Markdown
Contributor

VTL0 sends data to the secure kernel during and after initial boot. Use the new attributes parameter to extend load_kdata, allowing it to process data after boot and use the improved format for sending data from VTL0. Small, simple data buffers like certificates can be sent efficiently with the same APIs used for larger aggregated data like module info.

The new data format is leveraged to reduce the size of the kernel string table passed from ~10MB (all of rodata) to ~250KB.

The validate_module and validate_kexec APIs are extended to use the new attributes.

@sangho2

Copy link
Copy Markdown
Contributor

Femi Adeyemi (@femiatl) Could you please resolve the conflicts such that CI can work on this PR.

@femiatl
Femi Adeyemi (femiatl)force-pushed the femia/lvbs/pagewalk branch 3 times, most recently from 54e3a52 to d4626b2CompareFebruary 11, 2026 02:49
@sangho2

Sangho Lee (sangho2) commented Feb 13, 2026

Copy link
Copy Markdown
Contributor

It seems that this change is based on new ABI to simplify data transfer. Good idea! As tgopinath-microsoft noted in #652, this cannot be merged yet.

One overall feedback or requested change: This PR needs some detailed comments to explain new ABI and data structures. Also, some functions are with old comments (e.g., these functions no longer get nranges), and some other functions are without any comments.

Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs
Comment threadlitebox_platform_lvbs/src/mshv/vsm.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/vsm.rs
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/vsm.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/vsm.rs Outdated
@femiatl
Femi Adeyemi (femiatl)force-pushed the femia/lvbs/pagewalk branch 2 times, most recently from 3a4f589 to 73eb949CompareFebruary 23, 2026 16:17
VTL0 sends data to the secure kernel during and after initial boot.
Use the new attributes parameter to extend load_kdata, allowing it
to process data after boot and use the improved format for sending
data from VTL0. Small, simple data buffers like certificates can be
sent efficiently with the same APIs used for larger aggregated data
like module info.
The new data format is leveraged to reduce the size of the kernel
string table passed from ~10MB (all of rodata) to ~250KB.
The validate_module and validate_kexec APIs are extended to use the
new attributes.
- Updata modular_field crate to latest to fix warnings
- Rename attr field in HekiData range to mem_attr to reflect usage
- Resize HekiDatRange to take more ranges per page
- Rename and refactor HekiDataAttr to HekiDataApiAttr to clarify usage
- Add comments for updated public functions and update parameter names
- Add convenience data page iterator to simplyfy processing
Latest modular_bitfield generates warnings
@github-actions

Copy link
Copy Markdown

🤖 SemverChecks 🤖 ⚠️ Potential breaking API changes detected ⚠️

Click for details
--- failure function_parameter_count_changed: pub fn parameter count changed ---
Description:
A publicly-visible function now takes a different number of parameters.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#fn-change-arity
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/function_parameter_count_changed.ron
Failed in:
litebox_platform_lvbs::mshv::vsm::mshv_vsm_protect_memory now takes 3 parameters instead of 2, in /home/runner/work/litebox/litebox/litebox_platform_lvbs/src/mshv/vsm.rs:266
litebox_platform_lvbs::mshv::vsm::mshv_vsm_load_kdata now takes 3 parameters instead of 2, in /home/runner/work/litebox/litebox/litebox_platform_lvbs/src/mshv/vsm.rs:348
--- failure inherent_method_missing: pub method removed or renamed ---
Description:
A publicly-visible method or associated fn is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/inherent_method_missing.ron
Failed in:
Symbol::from_bytes, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/075ab7c6d077e0d81bb34571e3dec9b66e93a36a/litebox_platform_lvbs/src/mshv/vsm.rs:1766
--- failure method_parameter_count_changed: pub method parameter count changed ---
Description:
A publicly-visible method now takes a different number of parameters, not counting the receiver (self) parameter.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#fn-change-arity
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/method_parameter_count_changed.ron
Failed in:
litebox_platform_lvbs::mshv::vsm::SymbolTable::build_from_container now takes 2 parameters instead of 4, in /home/runner/work/litebox/litebox/litebox_platform_lvbs/src/mshv/vsm.rs:1864

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@femiatl@sangho2
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Parse attributes in extended VTL0 APIs - #653

Open
Femi Adeyemi (femiatl) wants to merge 3 commits into
mainfrom
femia/lvbs/pagewalk
Open

Parse attributes in extended VTL0 APIs#653
Femi Adeyemi (femiatl) wants to merge 3 commits into
mainfrom
femia/lvbs/pagewalk

Conversation

@femiatl

Copy link
Copy Markdown
Contributor

VTL0 sends data to the secure kernel during and after initial boot. Use the new attributes parameter to extend load_kdata, allowing it to process data after boot and use the improved format for sending data from VTL0. Small, simple data buffers like certificates can be sent efficiently with the same APIs used for larger aggregated data like module info.

The new data format is leveraged to reduce the size of the kernel string table passed from ~10MB (all of rodata) to ~250KB.

The validate_module and validate_kexec APIs are extended to use the new attributes.

@sangho2

Copy link
Copy Markdown
Contributor

Femi Adeyemi (@femiatl) Could you please resolve the conflicts such that CI can work on this PR.

@femiatl
Femi Adeyemi (femiatl)force-pushed the femia/lvbs/pagewalk branch 3 times, most recently from 54e3a52 to d4626b2CompareFebruary 11, 2026 02:49
@sangho2

Sangho Lee (sangho2) commented Feb 13, 2026

Copy link
Copy Markdown
Contributor

It seems that this change is based on new ABI to simplify data transfer. Good idea! As tgopinath-microsoft noted in #652, this cannot be merged yet.

One overall feedback or requested change: This PR needs some detailed comments to explain new ABI and data structures. Also, some functions are with old comments (e.g., these functions no longer get nranges), and some other functions are without any comments.

Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs
Comment threadlitebox_platform_lvbs/src/mshv/vsm.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/vsm.rs
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/vsm.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/vsm.rs Outdated
@femiatl
Femi Adeyemi (femiatl)force-pushed the femia/lvbs/pagewalk branch 2 times, most recently from 3a4f589 to 73eb949CompareFebruary 23, 2026 16:17
VTL0 sends data to the secure kernel during and after initial boot.
Use the new attributes parameter to extend load_kdata, allowing it
to process data after boot and use the improved format for sending
data from VTL0. Small, simple data buffers like certificates can be
sent efficiently with the same APIs used for larger aggregated data
like module info.
The new data format is leveraged to reduce the size of the kernel
string table passed from ~10MB (all of rodata) to ~250KB.
The validate_module and validate_kexec APIs are extended to use the
new attributes.
- Updata modular_field crate to latest to fix warnings
- Rename attr field in HekiData range to mem_attr to reflect usage
- Resize HekiDatRange to take more ranges per page
- Rename and refactor HekiDataAttr to HekiDataApiAttr to clarify usage
- Add comments for updated public functions and update parameter names
- Add convenience data page iterator to simplyfy processing
Latest modular_bitfield generates warnings
@github-actions

Copy link
Copy Markdown

🤖 SemverChecks 🤖 ⚠️ Potential breaking API changes detected ⚠️

Click for details
--- failure function_parameter_count_changed: pub fn parameter count changed ---
Description:
A publicly-visible function now takes a different number of parameters.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#fn-change-arity
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/function_parameter_count_changed.ron
Failed in:
litebox_platform_lvbs::mshv::vsm::mshv_vsm_protect_memory now takes 3 parameters instead of 2, in /home/runner/work/litebox/litebox/litebox_platform_lvbs/src/mshv/vsm.rs:266
litebox_platform_lvbs::mshv::vsm::mshv_vsm_load_kdata now takes 3 parameters instead of 2, in /home/runner/work/litebox/litebox/litebox_platform_lvbs/src/mshv/vsm.rs:348
--- failure inherent_method_missing: pub method removed or renamed ---
Description:
A publicly-visible method or associated fn is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/inherent_method_missing.ron
Failed in:
Symbol::from_bytes, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/075ab7c6d077e0d81bb34571e3dec9b66e93a36a/litebox_platform_lvbs/src/mshv/vsm.rs:1766
--- failure method_parameter_count_changed: pub method parameter count changed ---
Description:
A publicly-visible method now takes a different number of parameters, not counting the receiver (self) parameter.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#fn-change-arity
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/method_parameter_count_changed.ron
Failed in:
litebox_platform_lvbs::mshv::vsm::SymbolTable::build_from_container now takes 2 parameters instead of 4, in /home/runner/work/litebox/litebox/litebox_platform_lvbs/src/mshv/vsm.rs:1864

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@femiatl@sangho2
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Parse attributes in extended VTL0 APIs - #653

Open
Femi Adeyemi (femiatl) wants to merge 3 commits into
mainfrom
femia/lvbs/pagewalk
Open

Parse attributes in extended VTL0 APIs#653
Femi Adeyemi (femiatl) wants to merge 3 commits into
mainfrom
femia/lvbs/pagewalk

Conversation

@femiatl

Copy link
Copy Markdown
Contributor

VTL0 sends data to the secure kernel during and after initial boot. Use the new attributes parameter to extend load_kdata, allowing it to process data after boot and use the improved format for sending data from VTL0. Small, simple data buffers like certificates can be sent efficiently with the same APIs used for larger aggregated data like module info.

The new data format is leveraged to reduce the size of the kernel string table passed from ~10MB (all of rodata) to ~250KB.

The validate_module and validate_kexec APIs are extended to use the new attributes.

@sangho2

Copy link
Copy Markdown
Contributor

Femi Adeyemi (@femiatl) Could you please resolve the conflicts such that CI can work on this PR.

@femiatl
Femi Adeyemi (femiatl)force-pushed the femia/lvbs/pagewalk branch 3 times, most recently from 54e3a52 to d4626b2CompareFebruary 11, 2026 02:49
@sangho2

Sangho Lee (sangho2) commented Feb 13, 2026

Copy link
Copy Markdown
Contributor

It seems that this change is based on new ABI to simplify data transfer. Good idea! As tgopinath-microsoft noted in #652, this cannot be merged yet.

One overall feedback or requested change: This PR needs some detailed comments to explain new ABI and data structures. Also, some functions are with old comments (e.g., these functions no longer get nranges), and some other functions are without any comments.

Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs
Comment threadlitebox_platform_lvbs/src/mshv/vsm.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/vsm.rs
Comment threadlitebox_platform_lvbs/src/mshv/heki_data.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/vsm.rs Outdated
Comment threadlitebox_platform_lvbs/src/mshv/vsm.rs Outdated
@femiatl
Femi Adeyemi (femiatl)force-pushed the femia/lvbs/pagewalk branch 2 times, most recently from 3a4f589 to 73eb949CompareFebruary 23, 2026 16:17
VTL0 sends data to the secure kernel during and after initial boot.
Use the new attributes parameter to extend load_kdata, allowing it
to process data after boot and use the improved format for sending
data from VTL0. Small, simple data buffers like certificates can be
sent efficiently with the same APIs used for larger aggregated data
like module info.
The new data format is leveraged to reduce the size of the kernel
string table passed from ~10MB (all of rodata) to ~250KB.
The validate_module and validate_kexec APIs are extended to use the
new attributes.
- Updata modular_field crate to latest to fix warnings
- Rename attr field in HekiData range to mem_attr to reflect usage
- Resize HekiDatRange to take more ranges per page
- Rename and refactor HekiDataAttr to HekiDataApiAttr to clarify usage
- Add comments for updated public functions and update parameter names
- Add convenience data page iterator to simplyfy processing
Latest modular_bitfield generates warnings
@github-actions

Copy link
Copy Markdown

🤖 SemverChecks 🤖 ⚠️ Potential breaking API changes detected ⚠️

Click for details
--- failure function_parameter_count_changed: pub fn parameter count changed ---
Description:
A publicly-visible function now takes a different number of parameters.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#fn-change-arity
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/function_parameter_count_changed.ron
Failed in:
litebox_platform_lvbs::mshv::vsm::mshv_vsm_protect_memory now takes 3 parameters instead of 2, in /home/runner/work/litebox/litebox/litebox_platform_lvbs/src/mshv/vsm.rs:266
litebox_platform_lvbs::mshv::vsm::mshv_vsm_load_kdata now takes 3 parameters instead of 2, in /home/runner/work/litebox/litebox/litebox_platform_lvbs/src/mshv/vsm.rs:348
--- failure inherent_method_missing: pub method removed or renamed ---
Description:
A publicly-visible method or associated fn is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/inherent_method_missing.ron
Failed in:
Symbol::from_bytes, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/075ab7c6d077e0d81bb34571e3dec9b66e93a36a/litebox_platform_lvbs/src/mshv/vsm.rs:1766
--- failure method_parameter_count_changed: pub method parameter count changed ---
Description:
A publicly-visible method now takes a different number of parameters, not counting the receiver (self) parameter.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#fn-change-arity
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/method_parameter_count_changed.ron
Failed in:
litebox_platform_lvbs::mshv::vsm::SymbolTable::build_from_container now takes 2 parameters instead of 4, in /home/runner/work/litebox/litebox/litebox_platform_lvbs/src/mshv/vsm.rs:1864

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@femiatl@sangho2