[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-nvidia-jetson-optimize-memory":3,"mdc-xfczvq-key":31,"related-repo-nvidia-jetson-optimize-memory":2123,"related-org-nvidia-jetson-optimize-memory":2227},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":20,"repoUrl":21,"updatedAt":22,"license":23,"forks":24,"topics":25,"repo":26,"sourceUrl":29,"mdContent":30},"jetson-optimize-memory","optimize Jetson DRAM memory usage","Reclaim DRAM by disabling unused subsystems across MB1 BCT, MB2 BCT, kernel reserved-memory, and SWIOTLB. Use for headless or no-camera Jetson deployments; not for CPU\u002FGPU frequency tuning.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},"nvidia","NVIDIA","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fnvidia.png",[12,16,19],{"name":13,"slug":14,"type":15},"Performance","performance","tag",{"name":17,"slug":18,"type":15},"Hardware","hardware",{"name":9,"slug":8,"type":15},2473,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fskills","2026-07-14T05:30:42.83462","Apache-2.0",281,[],{"repoUrl":21,"stars":20,"forks":24,"topics":27,"description":28},[],"AI agent skills published by NVIDIA","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fskills\u002Ftree\u002FHEAD\u002Fskills\u002Fjetson-optimize-memory","---\nname: jetson-optimize-memory\ndescription: >-\n  Reclaim DRAM by disabling unused subsystems across MB1 BCT, MB2 BCT,\n  kernel reserved-memory, and SWIOTLB. Use for headless or no-camera\n  Jetson deployments; not for CPU\u002FGPU frequency tuning.\n\nversion: 0.0.1\nlicense: \"Apache-2.0\"\nargument-hint: \"headless | no-camera | swiotlb\"\nmetadata:\n  data-classification: public\n  author: \"Jetson Team\"\n  tags:\n    - memory\n    - dram\n    - carveout\n    - swiotlb\n  domain: memory\n---\n\n# jetson-optimize-memory\n\nMemory is reserved across four layers ordered by boot chronology\n(higher row = earlier in boot, closer to hardware):\n\n| Layer | Content | Key files |\n|---|---|---|\n| MB1 BCT | firmware carveouts | per-module misc DTS |\n| MB2 BCT | firmware loading + AST controls | per-module misc DTS |\n| Kernel DTS | reserved-memory and driver binding | per-module DTS |\n| SWIOTLB | DMA bounce pool size | `\u003Cmodule>.conf.common` (`CMDLINE_ADD`) |\n\n**Critical rules:**\n\n- Only the scenarios in **Scenario recipes** are validated. Refuse any\n  request to disable a carveout\u002Fcluster\u002Fnode not in that table.\n- **Zeroing a carveout requires both: disabling the cluster's loading\n  controls AND removing the AST that references it.**\n- **Emit explicit overrides for every cluster in the recipe**, regardless\n  of how the source `#ifdef`\u002F`#else` looks. Verify the merged binary.\n- **GPU SW stack must match the chip**: T234 -> nvgpu, T264 and later\n  -> OpenRM. Follow the shared derived-platform rule in\n  `target-platform-contract.md`; stop on mismatches instead of guessing.\n- Do not set SWIOTLB to 0 — some peripherals can't use the IOMMU.\n\n---\n\n## Scenario recipes\n\n| Keyword | MB1 BCT carveouts | MB2 BCT | Kernel DTS |\n|---|---|---|---|\n| `headless` | DCE-family (see chip table) | DCE `auxp_controls` + DCE AST(s) | `display@\u003Caddr>` (and `dce@\u003Caddr>` if exposed) → disabled |\n| `no-camera` | RCE\u002FVI\u002FISP-family | RCE `auxp_controls` (each instance) + RCE AST(s) | recommended: VI\u002FISP\u002FNVCSI → disabled |\n\n### Chip-specific carveouts\n\n| Scenario | T234 (Orin) | T264 (Thor) |\n|---|---|---|\n| `headless` | `CARVEOUT_BPMP_DCE`, `CARVEOUT_DCE`, `CARVEOUT_DCE_TSEC`, `CARVEOUT_TSEC_DCE`, `CARVEOUT_DISP_EARLY_BOOT_FB` | `CARVEOUT_DCE`, `CARVEOUT_TSEC_DCE`, `CARVEOUT_HPSE_DCE`, `CARVEOUT_DISP_EARLY_BOOT_FB` |\n| `no-camera` | `CARVEOUT_RCE`, `CARVEOUT_CAMERA_TASKLIST` | `CARVEOUT_RCE`, `CARVEOUT_RCE1`, `CARVEOUT_RCE_RW`, `CARVEOUT_VI_TASKLIST`, `CARVEOUT_VI1_TASKLIST`, `CARVEOUT_ISP_TASKLIST`, `CARVEOUT_ISP1_TASKLIST` |\n\n> **Post-boot:** `headless` → `sudo systemctl set-default multi-user.target`.\n\n---\n\n## MB1 BCT carveout overrides\n\nFile: `Linux_for_Tegra\u002Fbootloader\u002Fgeneric\u002FBCT\u002Ftegra\u003Cchip>-mb1-bct-misc-\u003Cmodule>.dts`\n(e.g. `tegra234-mb1-bct-misc-p3767-0000.dts` for Orin Nano,\n`tegra264-mb1-bct-misc-p3834-0008-p4071-0000.dts` for Thor).\n\nFor each carveout, add inside the existing `carveout` node:\n\n```dts\naux_info@\u003CCARVEOUT_NAME> {\n    pref_base = \u003C0x0 0x0>;\n    size      = \u003C0x0 0x0>;\n    alignment = \u003C0x0 0x0>;\n};\n```\n\n---\n\n## MB2 BCT cluster + AST overrides\n\nFile: `Linux_for_Tegra\u002Fbootloader\u002Fgeneric\u002FBCT\u002Ftegra\u003Cchip>-mb2-bct-misc-\u003Cmodule>.dts`\n(includes `tegra\u003Cchip>-mb2-bct-common.dtsi`).\n\nFor each target cluster:\n\n1. Override `auxp_controls@\u003Cindex>`:\n   ```dts\n   auxp_controls@\u003Cindex> {\n       enable_init    = \u003C0>;\n       enable_fw_load = \u003C0>;\n       enable_unhalt  = \u003C0>;\n   };\n   ```\n2. `\u002Fdelete-node\u002F auxp_ast_config@\u003Cidx>;`\n\nLook up indices in `common.dtsi`: `auxp_controls@N` carries a comment\nnaming its cluster; `auxp_ast_config@N` has `ast_region` children whose\n`carveout = \u003CCARVEOUT_…>;` lines identify the owner.\n\n---\n\n## Kernel DT reserved-memory\n\n```sh\nDTB=Linux_for_Tegra\u002Fkernel\u002Fdtb\u002F\u003Cplatform-dtb-name>.dtb\ndtc -I dtb -O dts -o \u002Ftmp\u002Fplatform.dts $DTB\n# edit: status = \"disabled\" on target nodes\ndtc -I dts -O dtb -o $DTB \u002Ftmp\u002Fplatform.dts\n```\n\n**Display** — disable `display@\u003Caddr>`, plus `dce@\u003Caddr>` if exposed as\na separate kernel node.\n\n**Camera** — under `host1x@\u003Caddr>`, disable whichever of `vi*` \u002F `isp*`\n\u002F `nvcsi` exist on the BSP (only emit present nodes):\n\nLocate the display controller node in the decompiled DTS and disable it.\nThe node's unit address is chip-specific — find it by `compatible` string\n(e.g. `nvidia,tegra234-display`) rather than hard-coding the address.\n\n```dts\nhost1x@\u003Caddr> {\n    vi0@\u003Caddr>   { status = \"disabled\"; };\n    vi1@\u003Caddr>   { status = \"disabled\"; };\n    isp@\u003Caddr>   { status = \"disabled\"; };\n    isp1@\u003Caddr>  { status = \"disabled\"; };\n    nvcsi@\u003Caddr> { status = \"disabled\"; };\n};\n```\n\n---\n\n## SWIOTLB DMA bounce pool\n\nThe NVIDIA IOMMU covers peripheral DMA, so SWIOTLB is rarely used.\nEdit `CMDLINE_ADD` (**never** `CMDLINE`) in `Linux_for_Tegra\u002F\u003Cmodule>.conf.common`:\n\n```sh\n# Total bytes = swiotlb_value × 2048; 4 MiB pool:\nCMDLINE_ADD=\"... swiotlb=2048\"\n```\n\n---\n\n## Override verification (mandatory)\n\nAfter every patched MB1\u002FMB2 BCT `.dts`, reproduce the BSP's compile +\ndecompile using the same `-D…` flags from `bct_flags.append(...)` in\n`bootloader\u002Ftegraflash_impl_t\u003Cchip>.py`:\n\n```sh\ngcc -E -nostdinc -x assembler-with-cpp \\\n    -DENABLE_\u003CFLAG_1> -DENABLE_\u003CFLAG_2> \\\n    -I bootloader -I bootloader\u002Fgeneric\u002FBCT \\\n    -o \u002Ftmp\u002Fcpp.dts \u003Cpatched-bct.dts>\ndtc -q -I dts -O dtb -o \u002Ftmp\u002Fcpp.dtb \u002Ftmp\u002Fcpp.dts\ndtc -q -I dtb -O dts \u002Ftmp\u002Fcpp.dtb | less\n```\n\nConfirm in the merged output:\n- Each zeroed `aux_info@\u003CNAME>` (or `aux_info@\u003Cid>U` post macro expansion)\n  has `size = \u003C0x0 0x0>` and `pref_base = \u003C0x0 0x0>`.\n- Each disabled `auxp_controls@\u003Cidx>` has all three `enable_*` fields `\u003C0>`.\n- Each `\u002Fdelete-node\u002F`'d `auxp_ast_config@\u003Cidx>` is absent.\n\n---\n\n## Verification (on booted target)\n\n```sh\nsudo cat \u002Fproc\u002Fiomem | grep -iE 'nv-reserved|cma|fb|carveout'\nls \u002Fproc\u002Fdevice-tree\u002Freserved-memory\u002F\ndmesg | grep -iE 'firmware|carveout|bpmp|reserved|fail|error' | head -20\nfree -m\n```\n\n| Scenario | Sysfs | dmesg grep |\n|---|---|---|\n| Display off | `ls \u002Fsys\u002Fclass\u002Fdrm\u002F` (empty) | `tegra-drm\\|nvdisplay\\|dce\\|host1x\\|fb0` |\n| Camera off | `ls \u002Fdev\u002Fvideo* 2>\u002Fdev\u002Fnull` (none) | `rce\\|nvcsi\\|tegra-camera\\|vi0\\|vi1\\|isp` |\n| SWIOTLB shrink | `cat \u002Fsys\u002Fkernel\u002Fdebug\u002Fswiotlb\u002Fio_tlb_nslabs` matches cmdline | `swiotlb` |\n\nFor SWIOTLB: `\u002Fproc\u002Fcmdline` must contain `swiotlb=\u003Cvalue>`, and\n`watch -n5 cat \u002Fsys\u002Fkernel\u002Fdebug\u002Fswiotlb\u002Fio_tlb_used` must stay under\n`io_tlb_nslabs` during full workload — if exceeded, restore original\n`CMDLINE_ADD` and re-flash `kernel-dtb`.\n\n## Purpose\n\nCut the unused DRAM carveouts that ship enabled in the reference BSP\nwhen a Jetson deployment skips display, camera, or other peripherals,\nfreeing the freed bytes for the application. Always edits the four\nlayers in boot order so an early-stage carveout never outranks a\nlater-stage shrink.\n\n## Prerequisites\n\n- Active target profile resolved per\n  `..\u002F..\u002Fcontext\u002Ftarget-platform-contract.md`.\n- BSP image extracted and source tree initialized\n  (`\u002Fjetson-init-image`, `\u002Fjetson-init-source` complete).\n- For headless \u002F no-camera recipes: confirm the workload truly does not\n  need display or camera.\n\n## Limitations\n\n- Only the validated recipes (`headless`, `no-camera`, `swiotlb`) are\n  exposed; ad-hoc subsystem disables outside the recipe set are\n  refused.\n- SWIOTLB shrink is bounded by peak in-flight DMA — exceeding the new\n  `io_tlb_nslabs` requires reverting the change.\n- BPMP-DTB edits land in the overlay tracker only after Customize +\n  Build + Deploy run; this skill does not flash on its own.\n\n## Troubleshooting\n\n- **Boot fails after MB1 BCT carveout disable** — restore the pristine\n  misc DTS and re-flash; the missing carveout is mandatory for the\n  active SoC.\n- **`io_tlb_used` exceeds `io_tlb_nslabs`** — revert `swiotlb=` in\n  `CMDLINE_ADD` and re-flash the kernel DTB partition.\n- **Reclaimed delta smaller than expected** — verify the recipe truly\n  matched the deployment (e.g. display still attached); use the\n  `dmesg | grep -iE 'firmware|carveout'` check in this file to confirm.\n- **Validation `dmesg` shows the disabled subsystem still probing** —\n  the change probably did not promote through to `bsp_image`; re-run\n  `\u002Fjetson-promote-image`.\n\n---\n",{"data":32,"body":43},{"name":4,"description":6,"version":33,"license":23,"argument-hint":34,"metadata":35},"0.0.1","headless | no-camera | swiotlb",{"data-classification":36,"author":37,"tags":38,"domain":39},"public","Jetson Team",[39,40,41,42],"memory","dram","carveout","swiotlb",{"type":44,"children":45},"root",[46,53,59,178,187,261,265,271,384,391,571,600,603,609,638,650,708,711,717,737,742,814,859,862,868,1008,1032,1074,1095,1159,1162,1168,1201,1242,1245,1251,1287,1513,1518,1606,1609,1615,1743,1852,1903,1909,1914,1920,1960,1966,2010,2016,2114,2117],{"type":47,"tag":48,"props":49,"children":50},"element","h1",{"id":4},[51],{"type":52,"value":4},"text",{"type":47,"tag":54,"props":55,"children":56},"p",{},[57],{"type":52,"value":58},"Memory is reserved across four layers ordered by boot chronology\n(higher row = earlier in boot, closer to hardware):",{"type":47,"tag":60,"props":61,"children":62},"table",{},[63,87],{"type":47,"tag":64,"props":65,"children":66},"thead",{},[67],{"type":47,"tag":68,"props":69,"children":70},"tr",{},[71,77,82],{"type":47,"tag":72,"props":73,"children":74},"th",{},[75],{"type":52,"value":76},"Layer",{"type":47,"tag":72,"props":78,"children":79},{},[80],{"type":52,"value":81},"Content",{"type":47,"tag":72,"props":83,"children":84},{},[85],{"type":52,"value":86},"Key files",{"type":47,"tag":88,"props":89,"children":90},"tbody",{},[91,110,127,145],{"type":47,"tag":68,"props":92,"children":93},{},[94,100,105],{"type":47,"tag":95,"props":96,"children":97},"td",{},[98],{"type":52,"value":99},"MB1 BCT",{"type":47,"tag":95,"props":101,"children":102},{},[103],{"type":52,"value":104},"firmware carveouts",{"type":47,"tag":95,"props":106,"children":107},{},[108],{"type":52,"value":109},"per-module misc DTS",{"type":47,"tag":68,"props":111,"children":112},{},[113,118,123],{"type":47,"tag":95,"props":114,"children":115},{},[116],{"type":52,"value":117},"MB2 BCT",{"type":47,"tag":95,"props":119,"children":120},{},[121],{"type":52,"value":122},"firmware loading + AST controls",{"type":47,"tag":95,"props":124,"children":125},{},[126],{"type":52,"value":109},{"type":47,"tag":68,"props":128,"children":129},{},[130,135,140],{"type":47,"tag":95,"props":131,"children":132},{},[133],{"type":52,"value":134},"Kernel DTS",{"type":47,"tag":95,"props":136,"children":137},{},[138],{"type":52,"value":139},"reserved-memory and driver binding",{"type":47,"tag":95,"props":141,"children":142},{},[143],{"type":52,"value":144},"per-module DTS",{"type":47,"tag":68,"props":146,"children":147},{},[148,153,158],{"type":47,"tag":95,"props":149,"children":150},{},[151],{"type":52,"value":152},"SWIOTLB",{"type":47,"tag":95,"props":154,"children":155},{},[156],{"type":52,"value":157},"DMA bounce pool size",{"type":47,"tag":95,"props":159,"children":160},{},[161,168,170,176],{"type":47,"tag":162,"props":163,"children":165},"code",{"className":164},[],[166],{"type":52,"value":167},"\u003Cmodule>.conf.common",{"type":52,"value":169}," (",{"type":47,"tag":162,"props":171,"children":173},{"className":172},[],[174],{"type":52,"value":175},"CMDLINE_ADD",{"type":52,"value":177},")",{"type":47,"tag":54,"props":179,"children":180},{},[181],{"type":47,"tag":182,"props":183,"children":184},"strong",{},[185],{"type":52,"value":186},"Critical rules:",{"type":47,"tag":188,"props":189,"children":190},"ul",{},[191,204,212,238,256],{"type":47,"tag":192,"props":193,"children":194},"li",{},[195,197,202],{"type":52,"value":196},"Only the scenarios in ",{"type":47,"tag":182,"props":198,"children":199},{},[200],{"type":52,"value":201},"Scenario recipes",{"type":52,"value":203}," are validated. Refuse any\nrequest to disable a carveout\u002Fcluster\u002Fnode not in that table.",{"type":47,"tag":192,"props":205,"children":206},{},[207],{"type":47,"tag":182,"props":208,"children":209},{},[210],{"type":52,"value":211},"Zeroing a carveout requires both: disabling the cluster's loading\ncontrols AND removing the AST that references it.",{"type":47,"tag":192,"props":213,"children":214},{},[215,220,222,228,230,236],{"type":47,"tag":182,"props":216,"children":217},{},[218],{"type":52,"value":219},"Emit explicit overrides for every cluster in the recipe",{"type":52,"value":221},", regardless\nof how the source ",{"type":47,"tag":162,"props":223,"children":225},{"className":224},[],[226],{"type":52,"value":227},"#ifdef",{"type":52,"value":229},"\u002F",{"type":47,"tag":162,"props":231,"children":233},{"className":232},[],[234],{"type":52,"value":235},"#else",{"type":52,"value":237}," looks. Verify the merged binary.",{"type":47,"tag":192,"props":239,"children":240},{},[241,246,248,254],{"type":47,"tag":182,"props":242,"children":243},{},[244],{"type":52,"value":245},"GPU SW stack must match the chip",{"type":52,"value":247},": T234 -> nvgpu, T264 and later\n-> OpenRM. Follow the shared derived-platform rule in\n",{"type":47,"tag":162,"props":249,"children":251},{"className":250},[],[252],{"type":52,"value":253},"target-platform-contract.md",{"type":52,"value":255},"; stop on mismatches instead of guessing.",{"type":47,"tag":192,"props":257,"children":258},{},[259],{"type":52,"value":260},"Do not set SWIOTLB to 0 — some peripherals can't use the IOMMU.",{"type":47,"tag":262,"props":263,"children":264},"hr",{},[],{"type":47,"tag":266,"props":267,"children":269},"h2",{"id":268},"scenario-recipes",[270],{"type":52,"value":201},{"type":47,"tag":60,"props":272,"children":273},{},[274,298],{"type":47,"tag":64,"props":275,"children":276},{},[277],{"type":47,"tag":68,"props":278,"children":279},{},[280,285,290,294],{"type":47,"tag":72,"props":281,"children":282},{},[283],{"type":52,"value":284},"Keyword",{"type":47,"tag":72,"props":286,"children":287},{},[288],{"type":52,"value":289},"MB1 BCT carveouts",{"type":47,"tag":72,"props":291,"children":292},{},[293],{"type":52,"value":117},{"type":47,"tag":72,"props":295,"children":296},{},[297],{"type":52,"value":134},{"type":47,"tag":88,"props":299,"children":300},{},[301,350],{"type":47,"tag":68,"props":302,"children":303},{},[304,313,318,331],{"type":47,"tag":95,"props":305,"children":306},{},[307],{"type":47,"tag":162,"props":308,"children":310},{"className":309},[],[311],{"type":52,"value":312},"headless",{"type":47,"tag":95,"props":314,"children":315},{},[316],{"type":52,"value":317},"DCE-family (see chip table)",{"type":47,"tag":95,"props":319,"children":320},{},[321,323,329],{"type":52,"value":322},"DCE ",{"type":47,"tag":162,"props":324,"children":326},{"className":325},[],[327],{"type":52,"value":328},"auxp_controls",{"type":52,"value":330}," + DCE AST(s)",{"type":47,"tag":95,"props":332,"children":333},{},[334,340,342,348],{"type":47,"tag":162,"props":335,"children":337},{"className":336},[],[338],{"type":52,"value":339},"display@\u003Caddr>",{"type":52,"value":341}," (and ",{"type":47,"tag":162,"props":343,"children":345},{"className":344},[],[346],{"type":52,"value":347},"dce@\u003Caddr>",{"type":52,"value":349}," if exposed) → disabled",{"type":47,"tag":68,"props":351,"children":352},{},[353,362,367,379],{"type":47,"tag":95,"props":354,"children":355},{},[356],{"type":47,"tag":162,"props":357,"children":359},{"className":358},[],[360],{"type":52,"value":361},"no-camera",{"type":47,"tag":95,"props":363,"children":364},{},[365],{"type":52,"value":366},"RCE\u002FVI\u002FISP-family",{"type":47,"tag":95,"props":368,"children":369},{},[370,372,377],{"type":52,"value":371},"RCE ",{"type":47,"tag":162,"props":373,"children":375},{"className":374},[],[376],{"type":52,"value":328},{"type":52,"value":378}," (each instance) + RCE AST(s)",{"type":47,"tag":95,"props":380,"children":381},{},[382],{"type":52,"value":383},"recommended: VI\u002FISP\u002FNVCSI → disabled",{"type":47,"tag":385,"props":386,"children":388},"h3",{"id":387},"chip-specific-carveouts",[389],{"type":52,"value":390},"Chip-specific carveouts",{"type":47,"tag":60,"props":392,"children":393},{},[394,415],{"type":47,"tag":64,"props":395,"children":396},{},[397],{"type":47,"tag":68,"props":398,"children":399},{},[400,405,410],{"type":47,"tag":72,"props":401,"children":402},{},[403],{"type":52,"value":404},"Scenario",{"type":47,"tag":72,"props":406,"children":407},{},[408],{"type":52,"value":409},"T234 (Orin)",{"type":47,"tag":72,"props":411,"children":412},{},[413],{"type":52,"value":414},"T264 (Thor)",{"type":47,"tag":88,"props":416,"children":417},{},[418,494],{"type":47,"tag":68,"props":419,"children":420},{},[421,429,467],{"type":47,"tag":95,"props":422,"children":423},{},[424],{"type":47,"tag":162,"props":425,"children":427},{"className":426},[],[428],{"type":52,"value":312},{"type":47,"tag":95,"props":430,"children":431},{},[432,438,440,446,447,453,454,460,461],{"type":47,"tag":162,"props":433,"children":435},{"className":434},[],[436],{"type":52,"value":437},"CARVEOUT_BPMP_DCE",{"type":52,"value":439},", ",{"type":47,"tag":162,"props":441,"children":443},{"className":442},[],[444],{"type":52,"value":445},"CARVEOUT_DCE",{"type":52,"value":439},{"type":47,"tag":162,"props":448,"children":450},{"className":449},[],[451],{"type":52,"value":452},"CARVEOUT_DCE_TSEC",{"type":52,"value":439},{"type":47,"tag":162,"props":455,"children":457},{"className":456},[],[458],{"type":52,"value":459},"CARVEOUT_TSEC_DCE",{"type":52,"value":439},{"type":47,"tag":162,"props":462,"children":464},{"className":463},[],[465],{"type":52,"value":466},"CARVEOUT_DISP_EARLY_BOOT_FB",{"type":47,"tag":95,"props":468,"children":469},{},[470,475,476,481,482,488,489],{"type":47,"tag":162,"props":471,"children":473},{"className":472},[],[474],{"type":52,"value":445},{"type":52,"value":439},{"type":47,"tag":162,"props":477,"children":479},{"className":478},[],[480],{"type":52,"value":459},{"type":52,"value":439},{"type":47,"tag":162,"props":483,"children":485},{"className":484},[],[486],{"type":52,"value":487},"CARVEOUT_HPSE_DCE",{"type":52,"value":439},{"type":47,"tag":162,"props":490,"children":492},{"className":491},[],[493],{"type":52,"value":466},{"type":47,"tag":68,"props":495,"children":496},{},[497,505,521],{"type":47,"tag":95,"props":498,"children":499},{},[500],{"type":47,"tag":162,"props":501,"children":503},{"className":502},[],[504],{"type":52,"value":361},{"type":47,"tag":95,"props":506,"children":507},{},[508,514,515],{"type":47,"tag":162,"props":509,"children":511},{"className":510},[],[512],{"type":52,"value":513},"CARVEOUT_RCE",{"type":52,"value":439},{"type":47,"tag":162,"props":516,"children":518},{"className":517},[],[519],{"type":52,"value":520},"CARVEOUT_CAMERA_TASKLIST",{"type":47,"tag":95,"props":522,"children":523},{},[524,529,530,536,537,543,544,550,551,557,558,564,565],{"type":47,"tag":162,"props":525,"children":527},{"className":526},[],[528],{"type":52,"value":513},{"type":52,"value":439},{"type":47,"tag":162,"props":531,"children":533},{"className":532},[],[534],{"type":52,"value":535},"CARVEOUT_RCE1",{"type":52,"value":439},{"type":47,"tag":162,"props":538,"children":540},{"className":539},[],[541],{"type":52,"value":542},"CARVEOUT_RCE_RW",{"type":52,"value":439},{"type":47,"tag":162,"props":545,"children":547},{"className":546},[],[548],{"type":52,"value":549},"CARVEOUT_VI_TASKLIST",{"type":52,"value":439},{"type":47,"tag":162,"props":552,"children":554},{"className":553},[],[555],{"type":52,"value":556},"CARVEOUT_VI1_TASKLIST",{"type":52,"value":439},{"type":47,"tag":162,"props":559,"children":561},{"className":560},[],[562],{"type":52,"value":563},"CARVEOUT_ISP_TASKLIST",{"type":52,"value":439},{"type":47,"tag":162,"props":566,"children":568},{"className":567},[],[569],{"type":52,"value":570},"CARVEOUT_ISP1_TASKLIST",{"type":47,"tag":572,"props":573,"children":574},"blockquote",{},[575],{"type":47,"tag":54,"props":576,"children":577},{},[578,583,585,590,592,598],{"type":47,"tag":182,"props":579,"children":580},{},[581],{"type":52,"value":582},"Post-boot:",{"type":52,"value":584}," ",{"type":47,"tag":162,"props":586,"children":588},{"className":587},[],[589],{"type":52,"value":312},{"type":52,"value":591}," → ",{"type":47,"tag":162,"props":593,"children":595},{"className":594},[],[596],{"type":52,"value":597},"sudo systemctl set-default multi-user.target",{"type":52,"value":599},".",{"type":47,"tag":262,"props":601,"children":602},{},[],{"type":47,"tag":266,"props":604,"children":606},{"id":605},"mb1-bct-carveout-overrides",[607],{"type":52,"value":608},"MB1 BCT carveout overrides",{"type":47,"tag":54,"props":610,"children":611},{},[612,614,620,622,628,630,636],{"type":52,"value":613},"File: ",{"type":47,"tag":162,"props":615,"children":617},{"className":616},[],[618],{"type":52,"value":619},"Linux_for_Tegra\u002Fbootloader\u002Fgeneric\u002FBCT\u002Ftegra\u003Cchip>-mb1-bct-misc-\u003Cmodule>.dts",{"type":52,"value":621},"\n(e.g. ",{"type":47,"tag":162,"props":623,"children":625},{"className":624},[],[626],{"type":52,"value":627},"tegra234-mb1-bct-misc-p3767-0000.dts",{"type":52,"value":629}," for Orin Nano,\n",{"type":47,"tag":162,"props":631,"children":633},{"className":632},[],[634],{"type":52,"value":635},"tegra264-mb1-bct-misc-p3834-0008-p4071-0000.dts",{"type":52,"value":637}," for Thor).",{"type":47,"tag":54,"props":639,"children":640},{},[641,643,648],{"type":52,"value":642},"For each carveout, add inside the existing ",{"type":47,"tag":162,"props":644,"children":646},{"className":645},[],[647],{"type":52,"value":41},{"type":52,"value":649}," node:",{"type":47,"tag":651,"props":652,"children":657},"pre",{"className":653,"code":654,"language":655,"meta":656,"style":656},"language-dts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","aux_info@\u003CCARVEOUT_NAME> {\n    pref_base = \u003C0x0 0x0>;\n    size      = \u003C0x0 0x0>;\n    alignment = \u003C0x0 0x0>;\n};\n","dts","",[658],{"type":47,"tag":162,"props":659,"children":660},{"__ignoreMap":656},[661,672,681,690,699],{"type":47,"tag":662,"props":663,"children":666},"span",{"class":664,"line":665},"line",1,[667],{"type":47,"tag":662,"props":668,"children":669},{},[670],{"type":52,"value":671},"aux_info@\u003CCARVEOUT_NAME> {\n",{"type":47,"tag":662,"props":673,"children":675},{"class":664,"line":674},2,[676],{"type":47,"tag":662,"props":677,"children":678},{},[679],{"type":52,"value":680},"    pref_base = \u003C0x0 0x0>;\n",{"type":47,"tag":662,"props":682,"children":684},{"class":664,"line":683},3,[685],{"type":47,"tag":662,"props":686,"children":687},{},[688],{"type":52,"value":689},"    size      = \u003C0x0 0x0>;\n",{"type":47,"tag":662,"props":691,"children":693},{"class":664,"line":692},4,[694],{"type":47,"tag":662,"props":695,"children":696},{},[697],{"type":52,"value":698},"    alignment = \u003C0x0 0x0>;\n",{"type":47,"tag":662,"props":700,"children":702},{"class":664,"line":701},5,[703],{"type":47,"tag":662,"props":704,"children":705},{},[706],{"type":52,"value":707},"};\n",{"type":47,"tag":262,"props":709,"children":710},{},[],{"type":47,"tag":266,"props":712,"children":714},{"id":713},"mb2-bct-cluster-ast-overrides",[715],{"type":52,"value":716},"MB2 BCT cluster + AST overrides",{"type":47,"tag":54,"props":718,"children":719},{},[720,721,727,729,735],{"type":52,"value":613},{"type":47,"tag":162,"props":722,"children":724},{"className":723},[],[725],{"type":52,"value":726},"Linux_for_Tegra\u002Fbootloader\u002Fgeneric\u002FBCT\u002Ftegra\u003Cchip>-mb2-bct-misc-\u003Cmodule>.dts",{"type":52,"value":728},"\n(includes ",{"type":47,"tag":162,"props":730,"children":732},{"className":731},[],[733],{"type":52,"value":734},"tegra\u003Cchip>-mb2-bct-common.dtsi",{"type":52,"value":736},").",{"type":47,"tag":54,"props":738,"children":739},{},[740],{"type":52,"value":741},"For each target cluster:",{"type":47,"tag":743,"props":744,"children":745},"ol",{},[746,805],{"type":47,"tag":192,"props":747,"children":748},{},[749,751,757,759],{"type":52,"value":750},"Override ",{"type":47,"tag":162,"props":752,"children":754},{"className":753},[],[755],{"type":52,"value":756},"auxp_controls@\u003Cindex>",{"type":52,"value":758},":\n",{"type":47,"tag":651,"props":760,"children":762},{"className":653,"code":761,"language":655,"meta":656,"style":656},"auxp_controls@\u003Cindex> {\n    enable_init    = \u003C0>;\n    enable_fw_load = \u003C0>;\n    enable_unhalt  = \u003C0>;\n};\n",[763],{"type":47,"tag":162,"props":764,"children":765},{"__ignoreMap":656},[766,774,782,790,798],{"type":47,"tag":662,"props":767,"children":768},{"class":664,"line":665},[769],{"type":47,"tag":662,"props":770,"children":771},{},[772],{"type":52,"value":773},"auxp_controls@\u003Cindex> {\n",{"type":47,"tag":662,"props":775,"children":776},{"class":664,"line":674},[777],{"type":47,"tag":662,"props":778,"children":779},{},[780],{"type":52,"value":781},"    enable_init    = \u003C0>;\n",{"type":47,"tag":662,"props":783,"children":784},{"class":664,"line":683},[785],{"type":47,"tag":662,"props":786,"children":787},{},[788],{"type":52,"value":789},"    enable_fw_load = \u003C0>;\n",{"type":47,"tag":662,"props":791,"children":792},{"class":664,"line":692},[793],{"type":47,"tag":662,"props":794,"children":795},{},[796],{"type":52,"value":797},"    enable_unhalt  = \u003C0>;\n",{"type":47,"tag":662,"props":799,"children":800},{"class":664,"line":701},[801],{"type":47,"tag":662,"props":802,"children":803},{},[804],{"type":52,"value":707},{"type":47,"tag":192,"props":806,"children":807},{},[808],{"type":47,"tag":162,"props":809,"children":811},{"className":810},[],[812],{"type":52,"value":813},"\u002Fdelete-node\u002F auxp_ast_config@\u003Cidx>;",{"type":47,"tag":54,"props":815,"children":816},{},[817,819,825,827,833,835,841,843,849,851,857],{"type":52,"value":818},"Look up indices in ",{"type":47,"tag":162,"props":820,"children":822},{"className":821},[],[823],{"type":52,"value":824},"common.dtsi",{"type":52,"value":826},": ",{"type":47,"tag":162,"props":828,"children":830},{"className":829},[],[831],{"type":52,"value":832},"auxp_controls@N",{"type":52,"value":834}," carries a comment\nnaming its cluster; ",{"type":47,"tag":162,"props":836,"children":838},{"className":837},[],[839],{"type":52,"value":840},"auxp_ast_config@N",{"type":52,"value":842}," has ",{"type":47,"tag":162,"props":844,"children":846},{"className":845},[],[847],{"type":52,"value":848},"ast_region",{"type":52,"value":850}," children whose\n",{"type":47,"tag":162,"props":852,"children":854},{"className":853},[],[855],{"type":52,"value":856},"carveout = \u003CCARVEOUT_…>;",{"type":52,"value":858}," lines identify the owner.",{"type":47,"tag":262,"props":860,"children":861},{},[],{"type":47,"tag":266,"props":863,"children":865},{"id":864},"kernel-dt-reserved-memory",[866],{"type":52,"value":867},"Kernel DT reserved-memory",{"type":47,"tag":651,"props":869,"children":873},{"className":870,"code":871,"language":872,"meta":656,"style":656},"language-sh shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","DTB=Linux_for_Tegra\u002Fkernel\u002Fdtb\u002F\u003Cplatform-dtb-name>.dtb\ndtc -I dtb -O dts -o \u002Ftmp\u002Fplatform.dts $DTB\n# edit: status = \"disabled\" on target nodes\ndtc -I dts -O dtb -o $DTB \u002Ftmp\u002Fplatform.dts\n","sh",[874],{"type":47,"tag":162,"props":875,"children":876},{"__ignoreMap":656},[877,918,962,971],{"type":47,"tag":662,"props":878,"children":879},{"class":664,"line":665},[880,886,892,898,903,908,913],{"type":47,"tag":662,"props":881,"children":883},{"style":882},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[884],{"type":52,"value":885},"DTB",{"type":47,"tag":662,"props":887,"children":889},{"style":888},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[890],{"type":52,"value":891},"=",{"type":47,"tag":662,"props":893,"children":895},{"style":894},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[896],{"type":52,"value":897},"Linux_for_Tegra\u002Fkernel\u002Fdtb\u002F",{"type":47,"tag":662,"props":899,"children":900},{"style":888},[901],{"type":52,"value":902},"\u003C",{"type":47,"tag":662,"props":904,"children":905},{"style":894},[906],{"type":52,"value":907},"platform-dtb-name",{"type":47,"tag":662,"props":909,"children":910},{"style":888},[911],{"type":52,"value":912},">",{"type":47,"tag":662,"props":914,"children":915},{"style":894},[916],{"type":52,"value":917},".dtb\n",{"type":47,"tag":662,"props":919,"children":920},{"class":664,"line":674},[921,927,932,937,942,947,952,957],{"type":47,"tag":662,"props":922,"children":924},{"style":923},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[925],{"type":52,"value":926},"dtc",{"type":47,"tag":662,"props":928,"children":929},{"style":894},[930],{"type":52,"value":931}," -I",{"type":47,"tag":662,"props":933,"children":934},{"style":894},[935],{"type":52,"value":936}," dtb",{"type":47,"tag":662,"props":938,"children":939},{"style":894},[940],{"type":52,"value":941}," -O",{"type":47,"tag":662,"props":943,"children":944},{"style":894},[945],{"type":52,"value":946}," dts",{"type":47,"tag":662,"props":948,"children":949},{"style":894},[950],{"type":52,"value":951}," -o",{"type":47,"tag":662,"props":953,"children":954},{"style":894},[955],{"type":52,"value":956}," \u002Ftmp\u002Fplatform.dts",{"type":47,"tag":662,"props":958,"children":959},{"style":882},[960],{"type":52,"value":961}," $DTB\n",{"type":47,"tag":662,"props":963,"children":964},{"class":664,"line":683},[965],{"type":47,"tag":662,"props":966,"children":968},{"style":967},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[969],{"type":52,"value":970},"# edit: status = \"disabled\" on target nodes\n",{"type":47,"tag":662,"props":972,"children":973},{"class":664,"line":692},[974,978,982,986,990,994,998,1003],{"type":47,"tag":662,"props":975,"children":976},{"style":923},[977],{"type":52,"value":926},{"type":47,"tag":662,"props":979,"children":980},{"style":894},[981],{"type":52,"value":931},{"type":47,"tag":662,"props":983,"children":984},{"style":894},[985],{"type":52,"value":946},{"type":47,"tag":662,"props":987,"children":988},{"style":894},[989],{"type":52,"value":941},{"type":47,"tag":662,"props":991,"children":992},{"style":894},[993],{"type":52,"value":936},{"type":47,"tag":662,"props":995,"children":996},{"style":894},[997],{"type":52,"value":951},{"type":47,"tag":662,"props":999,"children":1000},{"style":882},[1001],{"type":52,"value":1002}," $DTB ",{"type":47,"tag":662,"props":1004,"children":1005},{"style":894},[1006],{"type":52,"value":1007},"\u002Ftmp\u002Fplatform.dts\n",{"type":47,"tag":54,"props":1009,"children":1010},{},[1011,1016,1018,1023,1025,1030],{"type":47,"tag":182,"props":1012,"children":1013},{},[1014],{"type":52,"value":1015},"Display",{"type":52,"value":1017}," — disable ",{"type":47,"tag":162,"props":1019,"children":1021},{"className":1020},[],[1022],{"type":52,"value":339},{"type":52,"value":1024},", plus ",{"type":47,"tag":162,"props":1026,"children":1028},{"className":1027},[],[1029],{"type":52,"value":347},{"type":52,"value":1031}," if exposed as\na separate kernel node.",{"type":47,"tag":54,"props":1033,"children":1034},{},[1035,1040,1042,1048,1050,1056,1058,1064,1066,1072],{"type":47,"tag":182,"props":1036,"children":1037},{},[1038],{"type":52,"value":1039},"Camera",{"type":52,"value":1041}," — under ",{"type":47,"tag":162,"props":1043,"children":1045},{"className":1044},[],[1046],{"type":52,"value":1047},"host1x@\u003Caddr>",{"type":52,"value":1049},", disable whichever of ",{"type":47,"tag":162,"props":1051,"children":1053},{"className":1052},[],[1054],{"type":52,"value":1055},"vi*",{"type":52,"value":1057}," \u002F ",{"type":47,"tag":162,"props":1059,"children":1061},{"className":1060},[],[1062],{"type":52,"value":1063},"isp*",{"type":52,"value":1065},"\n\u002F ",{"type":47,"tag":162,"props":1067,"children":1069},{"className":1068},[],[1070],{"type":52,"value":1071},"nvcsi",{"type":52,"value":1073}," exist on the BSP (only emit present nodes):",{"type":47,"tag":54,"props":1075,"children":1076},{},[1077,1079,1085,1087,1093],{"type":52,"value":1078},"Locate the display controller node in the decompiled DTS and disable it.\nThe node's unit address is chip-specific — find it by ",{"type":47,"tag":162,"props":1080,"children":1082},{"className":1081},[],[1083],{"type":52,"value":1084},"compatible",{"type":52,"value":1086}," string\n(e.g. ",{"type":47,"tag":162,"props":1088,"children":1090},{"className":1089},[],[1091],{"type":52,"value":1092},"nvidia,tegra234-display",{"type":52,"value":1094},") rather than hard-coding the address.",{"type":47,"tag":651,"props":1096,"children":1098},{"className":653,"code":1097,"language":655,"meta":656,"style":656},"host1x@\u003Caddr> {\n    vi0@\u003Caddr>   { status = \"disabled\"; };\n    vi1@\u003Caddr>   { status = \"disabled\"; };\n    isp@\u003Caddr>   { status = \"disabled\"; };\n    isp1@\u003Caddr>  { status = \"disabled\"; };\n    nvcsi@\u003Caddr> { status = \"disabled\"; };\n};\n",[1099],{"type":47,"tag":162,"props":1100,"children":1101},{"__ignoreMap":656},[1102,1110,1118,1126,1134,1142,1151],{"type":47,"tag":662,"props":1103,"children":1104},{"class":664,"line":665},[1105],{"type":47,"tag":662,"props":1106,"children":1107},{},[1108],{"type":52,"value":1109},"host1x@\u003Caddr> {\n",{"type":47,"tag":662,"props":1111,"children":1112},{"class":664,"line":674},[1113],{"type":47,"tag":662,"props":1114,"children":1115},{},[1116],{"type":52,"value":1117},"    vi0@\u003Caddr>   { status = \"disabled\"; };\n",{"type":47,"tag":662,"props":1119,"children":1120},{"class":664,"line":683},[1121],{"type":47,"tag":662,"props":1122,"children":1123},{},[1124],{"type":52,"value":1125},"    vi1@\u003Caddr>   { status = \"disabled\"; };\n",{"type":47,"tag":662,"props":1127,"children":1128},{"class":664,"line":692},[1129],{"type":47,"tag":662,"props":1130,"children":1131},{},[1132],{"type":52,"value":1133},"    isp@\u003Caddr>   { status = \"disabled\"; };\n",{"type":47,"tag":662,"props":1135,"children":1136},{"class":664,"line":701},[1137],{"type":47,"tag":662,"props":1138,"children":1139},{},[1140],{"type":52,"value":1141},"    isp1@\u003Caddr>  { status = \"disabled\"; };\n",{"type":47,"tag":662,"props":1143,"children":1145},{"class":664,"line":1144},6,[1146],{"type":47,"tag":662,"props":1147,"children":1148},{},[1149],{"type":52,"value":1150},"    nvcsi@\u003Caddr> { status = \"disabled\"; };\n",{"type":47,"tag":662,"props":1152,"children":1154},{"class":664,"line":1153},7,[1155],{"type":47,"tag":662,"props":1156,"children":1157},{},[1158],{"type":52,"value":707},{"type":47,"tag":262,"props":1160,"children":1161},{},[],{"type":47,"tag":266,"props":1163,"children":1165},{"id":1164},"swiotlb-dma-bounce-pool",[1166],{"type":52,"value":1167},"SWIOTLB DMA bounce pool",{"type":47,"tag":54,"props":1169,"children":1170},{},[1171,1173,1178,1179,1184,1185,1191,1193,1199],{"type":52,"value":1172},"The NVIDIA IOMMU covers peripheral DMA, so SWIOTLB is rarely used.\nEdit ",{"type":47,"tag":162,"props":1174,"children":1176},{"className":1175},[],[1177],{"type":52,"value":175},{"type":52,"value":169},{"type":47,"tag":182,"props":1180,"children":1181},{},[1182],{"type":52,"value":1183},"never",{"type":52,"value":584},{"type":47,"tag":162,"props":1186,"children":1188},{"className":1187},[],[1189],{"type":52,"value":1190},"CMDLINE",{"type":52,"value":1192},") in ",{"type":47,"tag":162,"props":1194,"children":1196},{"className":1195},[],[1197],{"type":52,"value":1198},"Linux_for_Tegra\u002F\u003Cmodule>.conf.common",{"type":52,"value":1200},":",{"type":47,"tag":651,"props":1202,"children":1204},{"className":870,"code":1203,"language":872,"meta":656,"style":656},"# Total bytes = swiotlb_value × 2048; 4 MiB pool:\nCMDLINE_ADD=\"... swiotlb=2048\"\n",[1205],{"type":47,"tag":162,"props":1206,"children":1207},{"__ignoreMap":656},[1208,1216],{"type":47,"tag":662,"props":1209,"children":1210},{"class":664,"line":665},[1211],{"type":47,"tag":662,"props":1212,"children":1213},{"style":967},[1214],{"type":52,"value":1215},"# Total bytes = swiotlb_value × 2048; 4 MiB pool:\n",{"type":47,"tag":662,"props":1217,"children":1218},{"class":664,"line":674},[1219,1223,1227,1232,1237],{"type":47,"tag":662,"props":1220,"children":1221},{"style":882},[1222],{"type":52,"value":175},{"type":47,"tag":662,"props":1224,"children":1225},{"style":888},[1226],{"type":52,"value":891},{"type":47,"tag":662,"props":1228,"children":1229},{"style":888},[1230],{"type":52,"value":1231},"\"",{"type":47,"tag":662,"props":1233,"children":1234},{"style":894},[1235],{"type":52,"value":1236},"... swiotlb=2048",{"type":47,"tag":662,"props":1238,"children":1239},{"style":888},[1240],{"type":52,"value":1241},"\"\n",{"type":47,"tag":262,"props":1243,"children":1244},{},[],{"type":47,"tag":266,"props":1246,"children":1248},{"id":1247},"override-verification-mandatory",[1249],{"type":52,"value":1250},"Override verification (mandatory)",{"type":47,"tag":54,"props":1252,"children":1253},{},[1254,1256,1262,1264,1270,1272,1278,1280,1286],{"type":52,"value":1255},"After every patched MB1\u002FMB2 BCT ",{"type":47,"tag":162,"props":1257,"children":1259},{"className":1258},[],[1260],{"type":52,"value":1261},".dts",{"type":52,"value":1263},", reproduce the BSP's compile +\ndecompile using the same ",{"type":47,"tag":162,"props":1265,"children":1267},{"className":1266},[],[1268],{"type":52,"value":1269},"-D…",{"type":52,"value":1271}," flags from ",{"type":47,"tag":162,"props":1273,"children":1275},{"className":1274},[],[1276],{"type":52,"value":1277},"bct_flags.append(...)",{"type":52,"value":1279}," in\n",{"type":47,"tag":162,"props":1281,"children":1283},{"className":1282},[],[1284],{"type":52,"value":1285},"bootloader\u002Ftegraflash_impl_t\u003Cchip>.py",{"type":52,"value":1200},{"type":47,"tag":651,"props":1288,"children":1290},{"className":870,"code":1289,"language":872,"meta":656,"style":656},"gcc -E -nostdinc -x assembler-with-cpp \\\n    -DENABLE_\u003CFLAG_1> -DENABLE_\u003CFLAG_2> \\\n    -I bootloader -I bootloader\u002Fgeneric\u002FBCT \\\n    -o \u002Ftmp\u002Fcpp.dts \u003Cpatched-bct.dts>\ndtc -q -I dts -O dtb -o \u002Ftmp\u002Fcpp.dtb \u002Ftmp\u002Fcpp.dts\ndtc -q -I dtb -O dts \u002Ftmp\u002Fcpp.dtb | less\n",[1291],{"type":47,"tag":162,"props":1292,"children":1293},{"__ignoreMap":656},[1294,1327,1371,1397,1430,1472],{"type":47,"tag":662,"props":1295,"children":1296},{"class":664,"line":665},[1297,1302,1307,1312,1317,1322],{"type":47,"tag":662,"props":1298,"children":1299},{"style":923},[1300],{"type":52,"value":1301},"gcc",{"type":47,"tag":662,"props":1303,"children":1304},{"style":894},[1305],{"type":52,"value":1306}," -E",{"type":47,"tag":662,"props":1308,"children":1309},{"style":894},[1310],{"type":52,"value":1311}," -nostdinc",{"type":47,"tag":662,"props":1313,"children":1314},{"style":894},[1315],{"type":52,"value":1316}," -x",{"type":47,"tag":662,"props":1318,"children":1319},{"style":894},[1320],{"type":52,"value":1321}," assembler-with-cpp",{"type":47,"tag":662,"props":1323,"children":1324},{"style":882},[1325],{"type":52,"value":1326}," \\\n",{"type":47,"tag":662,"props":1328,"children":1329},{"class":664,"line":674},[1330,1335,1339,1344,1349,1354,1358,1362,1367],{"type":47,"tag":662,"props":1331,"children":1332},{"style":894},[1333],{"type":52,"value":1334},"    -DENABLE_",{"type":47,"tag":662,"props":1336,"children":1337},{"style":888},[1338],{"type":52,"value":902},{"type":47,"tag":662,"props":1340,"children":1341},{"style":894},[1342],{"type":52,"value":1343},"FLAG_",{"type":47,"tag":662,"props":1345,"children":1346},{"style":888},[1347],{"type":52,"value":1348},"1>",{"type":47,"tag":662,"props":1350,"children":1351},{"style":894},[1352],{"type":52,"value":1353}," -DENABLE_",{"type":47,"tag":662,"props":1355,"children":1356},{"style":888},[1357],{"type":52,"value":902},{"type":47,"tag":662,"props":1359,"children":1360},{"style":894},[1361],{"type":52,"value":1343},{"type":47,"tag":662,"props":1363,"children":1364},{"style":888},[1365],{"type":52,"value":1366},"2>",{"type":47,"tag":662,"props":1368,"children":1369},{"style":882},[1370],{"type":52,"value":1326},{"type":47,"tag":662,"props":1372,"children":1373},{"class":664,"line":683},[1374,1379,1384,1388,1393],{"type":47,"tag":662,"props":1375,"children":1376},{"style":894},[1377],{"type":52,"value":1378},"    -I",{"type":47,"tag":662,"props":1380,"children":1381},{"style":894},[1382],{"type":52,"value":1383}," bootloader",{"type":47,"tag":662,"props":1385,"children":1386},{"style":894},[1387],{"type":52,"value":931},{"type":47,"tag":662,"props":1389,"children":1390},{"style":894},[1391],{"type":52,"value":1392}," bootloader\u002Fgeneric\u002FBCT",{"type":47,"tag":662,"props":1394,"children":1395},{"style":882},[1396],{"type":52,"value":1326},{"type":47,"tag":662,"props":1398,"children":1399},{"class":664,"line":692},[1400,1405,1410,1415,1420,1425],{"type":47,"tag":662,"props":1401,"children":1402},{"style":894},[1403],{"type":52,"value":1404},"    -o",{"type":47,"tag":662,"props":1406,"children":1407},{"style":894},[1408],{"type":52,"value":1409}," \u002Ftmp\u002Fcpp.dts",{"type":47,"tag":662,"props":1411,"children":1412},{"style":888},[1413],{"type":52,"value":1414}," \u003C",{"type":47,"tag":662,"props":1416,"children":1417},{"style":894},[1418],{"type":52,"value":1419},"patched-bct.dt",{"type":47,"tag":662,"props":1421,"children":1422},{"style":882},[1423],{"type":52,"value":1424},"s",{"type":47,"tag":662,"props":1426,"children":1427},{"style":888},[1428],{"type":52,"value":1429},">\n",{"type":47,"tag":662,"props":1431,"children":1432},{"class":664,"line":701},[1433,1437,1442,1446,1450,1454,1458,1462,1467],{"type":47,"tag":662,"props":1434,"children":1435},{"style":923},[1436],{"type":52,"value":926},{"type":47,"tag":662,"props":1438,"children":1439},{"style":894},[1440],{"type":52,"value":1441}," -q",{"type":47,"tag":662,"props":1443,"children":1444},{"style":894},[1445],{"type":52,"value":931},{"type":47,"tag":662,"props":1447,"children":1448},{"style":894},[1449],{"type":52,"value":946},{"type":47,"tag":662,"props":1451,"children":1452},{"style":894},[1453],{"type":52,"value":941},{"type":47,"tag":662,"props":1455,"children":1456},{"style":894},[1457],{"type":52,"value":936},{"type":47,"tag":662,"props":1459,"children":1460},{"style":894},[1461],{"type":52,"value":951},{"type":47,"tag":662,"props":1463,"children":1464},{"style":894},[1465],{"type":52,"value":1466}," \u002Ftmp\u002Fcpp.dtb",{"type":47,"tag":662,"props":1468,"children":1469},{"style":894},[1470],{"type":52,"value":1471}," \u002Ftmp\u002Fcpp.dts\n",{"type":47,"tag":662,"props":1473,"children":1474},{"class":664,"line":1144},[1475,1479,1483,1487,1491,1495,1499,1503,1508],{"type":47,"tag":662,"props":1476,"children":1477},{"style":923},[1478],{"type":52,"value":926},{"type":47,"tag":662,"props":1480,"children":1481},{"style":894},[1482],{"type":52,"value":1441},{"type":47,"tag":662,"props":1484,"children":1485},{"style":894},[1486],{"type":52,"value":931},{"type":47,"tag":662,"props":1488,"children":1489},{"style":894},[1490],{"type":52,"value":936},{"type":47,"tag":662,"props":1492,"children":1493},{"style":894},[1494],{"type":52,"value":941},{"type":47,"tag":662,"props":1496,"children":1497},{"style":894},[1498],{"type":52,"value":946},{"type":47,"tag":662,"props":1500,"children":1501},{"style":894},[1502],{"type":52,"value":1466},{"type":47,"tag":662,"props":1504,"children":1505},{"style":888},[1506],{"type":52,"value":1507}," |",{"type":47,"tag":662,"props":1509,"children":1510},{"style":923},[1511],{"type":52,"value":1512}," less\n",{"type":47,"tag":54,"props":1514,"children":1515},{},[1516],{"type":52,"value":1517},"Confirm in the merged output:",{"type":47,"tag":188,"props":1519,"children":1520},{},[1521,1557,1585],{"type":47,"tag":192,"props":1522,"children":1523},{},[1524,1526,1532,1534,1540,1542,1548,1550,1556],{"type":52,"value":1525},"Each zeroed ",{"type":47,"tag":162,"props":1527,"children":1529},{"className":1528},[],[1530],{"type":52,"value":1531},"aux_info@\u003CNAME>",{"type":52,"value":1533}," (or ",{"type":47,"tag":162,"props":1535,"children":1537},{"className":1536},[],[1538],{"type":52,"value":1539},"aux_info@\u003Cid>U",{"type":52,"value":1541}," post macro expansion)\nhas ",{"type":47,"tag":162,"props":1543,"children":1545},{"className":1544},[],[1546],{"type":52,"value":1547},"size = \u003C0x0 0x0>",{"type":52,"value":1549}," and ",{"type":47,"tag":162,"props":1551,"children":1553},{"className":1552},[],[1554],{"type":52,"value":1555},"pref_base = \u003C0x0 0x0>",{"type":52,"value":599},{"type":47,"tag":192,"props":1558,"children":1559},{},[1560,1562,1568,1570,1576,1578,1584],{"type":52,"value":1561},"Each disabled ",{"type":47,"tag":162,"props":1563,"children":1565},{"className":1564},[],[1566],{"type":52,"value":1567},"auxp_controls@\u003Cidx>",{"type":52,"value":1569}," has all three ",{"type":47,"tag":162,"props":1571,"children":1573},{"className":1572},[],[1574],{"type":52,"value":1575},"enable_*",{"type":52,"value":1577}," fields ",{"type":47,"tag":162,"props":1579,"children":1581},{"className":1580},[],[1582],{"type":52,"value":1583},"\u003C0>",{"type":52,"value":599},{"type":47,"tag":192,"props":1586,"children":1587},{},[1588,1590,1596,1598,1604],{"type":52,"value":1589},"Each ",{"type":47,"tag":162,"props":1591,"children":1593},{"className":1592},[],[1594],{"type":52,"value":1595},"\u002Fdelete-node\u002F",{"type":52,"value":1597},"'d ",{"type":47,"tag":162,"props":1599,"children":1601},{"className":1600},[],[1602],{"type":52,"value":1603},"auxp_ast_config@\u003Cidx>",{"type":52,"value":1605}," is absent.",{"type":47,"tag":262,"props":1607,"children":1608},{},[],{"type":47,"tag":266,"props":1610,"children":1612},{"id":1611},"verification-on-booted-target",[1613],{"type":52,"value":1614},"Verification (on booted target)",{"type":47,"tag":651,"props":1616,"children":1618},{"className":870,"code":1617,"language":872,"meta":656,"style":656},"sudo cat \u002Fproc\u002Fiomem | grep -iE 'nv-reserved|cma|fb|carveout'\nls \u002Fproc\u002Fdevice-tree\u002Freserved-memory\u002F\ndmesg | grep -iE 'firmware|carveout|bpmp|reserved|fail|error' | head -20\nfree -m\n",[1619],{"type":47,"tag":162,"props":1620,"children":1621},{"__ignoreMap":656},[1622,1669,1682,1730],{"type":47,"tag":662,"props":1623,"children":1624},{"class":664,"line":665},[1625,1630,1635,1640,1644,1649,1654,1659,1664],{"type":47,"tag":662,"props":1626,"children":1627},{"style":923},[1628],{"type":52,"value":1629},"sudo",{"type":47,"tag":662,"props":1631,"children":1632},{"style":894},[1633],{"type":52,"value":1634}," cat",{"type":47,"tag":662,"props":1636,"children":1637},{"style":894},[1638],{"type":52,"value":1639}," \u002Fproc\u002Fiomem",{"type":47,"tag":662,"props":1641,"children":1642},{"style":888},[1643],{"type":52,"value":1507},{"type":47,"tag":662,"props":1645,"children":1646},{"style":923},[1647],{"type":52,"value":1648}," grep",{"type":47,"tag":662,"props":1650,"children":1651},{"style":894},[1652],{"type":52,"value":1653}," -iE",{"type":47,"tag":662,"props":1655,"children":1656},{"style":888},[1657],{"type":52,"value":1658}," '",{"type":47,"tag":662,"props":1660,"children":1661},{"style":894},[1662],{"type":52,"value":1663},"nv-reserved|cma|fb|carveout",{"type":47,"tag":662,"props":1665,"children":1666},{"style":888},[1667],{"type":52,"value":1668},"'\n",{"type":47,"tag":662,"props":1670,"children":1671},{"class":664,"line":674},[1672,1677],{"type":47,"tag":662,"props":1673,"children":1674},{"style":923},[1675],{"type":52,"value":1676},"ls",{"type":47,"tag":662,"props":1678,"children":1679},{"style":894},[1680],{"type":52,"value":1681}," \u002Fproc\u002Fdevice-tree\u002Freserved-memory\u002F\n",{"type":47,"tag":662,"props":1683,"children":1684},{"class":664,"line":683},[1685,1690,1694,1698,1702,1706,1711,1716,1720,1725],{"type":47,"tag":662,"props":1686,"children":1687},{"style":923},[1688],{"type":52,"value":1689},"dmesg",{"type":47,"tag":662,"props":1691,"children":1692},{"style":888},[1693],{"type":52,"value":1507},{"type":47,"tag":662,"props":1695,"children":1696},{"style":923},[1697],{"type":52,"value":1648},{"type":47,"tag":662,"props":1699,"children":1700},{"style":894},[1701],{"type":52,"value":1653},{"type":47,"tag":662,"props":1703,"children":1704},{"style":888},[1705],{"type":52,"value":1658},{"type":47,"tag":662,"props":1707,"children":1708},{"style":894},[1709],{"type":52,"value":1710},"firmware|carveout|bpmp|reserved|fail|error",{"type":47,"tag":662,"props":1712,"children":1713},{"style":888},[1714],{"type":52,"value":1715},"'",{"type":47,"tag":662,"props":1717,"children":1718},{"style":888},[1719],{"type":52,"value":1507},{"type":47,"tag":662,"props":1721,"children":1722},{"style":923},[1723],{"type":52,"value":1724}," head",{"type":47,"tag":662,"props":1726,"children":1727},{"style":894},[1728],{"type":52,"value":1729}," -20\n",{"type":47,"tag":662,"props":1731,"children":1732},{"class":664,"line":692},[1733,1738],{"type":47,"tag":662,"props":1734,"children":1735},{"style":923},[1736],{"type":52,"value":1737},"free",{"type":47,"tag":662,"props":1739,"children":1740},{"style":894},[1741],{"type":52,"value":1742}," -m\n",{"type":47,"tag":60,"props":1744,"children":1745},{},[1746,1766],{"type":47,"tag":64,"props":1747,"children":1748},{},[1749],{"type":47,"tag":68,"props":1750,"children":1751},{},[1752,1756,1761],{"type":47,"tag":72,"props":1753,"children":1754},{},[1755],{"type":52,"value":404},{"type":47,"tag":72,"props":1757,"children":1758},{},[1759],{"type":52,"value":1760},"Sysfs",{"type":47,"tag":72,"props":1762,"children":1763},{},[1764],{"type":52,"value":1765},"dmesg grep",{"type":47,"tag":88,"props":1767,"children":1768},{},[1769,1797,1825],{"type":47,"tag":68,"props":1770,"children":1771},{},[1772,1777,1788],{"type":47,"tag":95,"props":1773,"children":1774},{},[1775],{"type":52,"value":1776},"Display off",{"type":47,"tag":95,"props":1778,"children":1779},{},[1780,1786],{"type":47,"tag":162,"props":1781,"children":1783},{"className":1782},[],[1784],{"type":52,"value":1785},"ls \u002Fsys\u002Fclass\u002Fdrm\u002F",{"type":52,"value":1787}," (empty)",{"type":47,"tag":95,"props":1789,"children":1790},{},[1791],{"type":47,"tag":162,"props":1792,"children":1794},{"className":1793},[],[1795],{"type":52,"value":1796},"tegra-drm|nvdisplay|dce|host1x|fb0",{"type":47,"tag":68,"props":1798,"children":1799},{},[1800,1805,1816],{"type":47,"tag":95,"props":1801,"children":1802},{},[1803],{"type":52,"value":1804},"Camera off",{"type":47,"tag":95,"props":1806,"children":1807},{},[1808,1814],{"type":47,"tag":162,"props":1809,"children":1811},{"className":1810},[],[1812],{"type":52,"value":1813},"ls \u002Fdev\u002Fvideo* 2>\u002Fdev\u002Fnull",{"type":52,"value":1815}," (none)",{"type":47,"tag":95,"props":1817,"children":1818},{},[1819],{"type":47,"tag":162,"props":1820,"children":1822},{"className":1821},[],[1823],{"type":52,"value":1824},"rce|nvcsi|tegra-camera|vi0|vi1|isp",{"type":47,"tag":68,"props":1826,"children":1827},{},[1828,1833,1844],{"type":47,"tag":95,"props":1829,"children":1830},{},[1831],{"type":52,"value":1832},"SWIOTLB shrink",{"type":47,"tag":95,"props":1834,"children":1835},{},[1836,1842],{"type":47,"tag":162,"props":1837,"children":1839},{"className":1838},[],[1840],{"type":52,"value":1841},"cat \u002Fsys\u002Fkernel\u002Fdebug\u002Fswiotlb\u002Fio_tlb_nslabs",{"type":52,"value":1843}," matches cmdline",{"type":47,"tag":95,"props":1845,"children":1846},{},[1847],{"type":47,"tag":162,"props":1848,"children":1850},{"className":1849},[],[1851],{"type":52,"value":42},{"type":47,"tag":54,"props":1853,"children":1854},{},[1855,1857,1863,1865,1871,1873,1879,1881,1887,1889,1894,1896,1902],{"type":52,"value":1856},"For SWIOTLB: ",{"type":47,"tag":162,"props":1858,"children":1860},{"className":1859},[],[1861],{"type":52,"value":1862},"\u002Fproc\u002Fcmdline",{"type":52,"value":1864}," must contain ",{"type":47,"tag":162,"props":1866,"children":1868},{"className":1867},[],[1869],{"type":52,"value":1870},"swiotlb=\u003Cvalue>",{"type":52,"value":1872},", and\n",{"type":47,"tag":162,"props":1874,"children":1876},{"className":1875},[],[1877],{"type":52,"value":1878},"watch -n5 cat \u002Fsys\u002Fkernel\u002Fdebug\u002Fswiotlb\u002Fio_tlb_used",{"type":52,"value":1880}," must stay under\n",{"type":47,"tag":162,"props":1882,"children":1884},{"className":1883},[],[1885],{"type":52,"value":1886},"io_tlb_nslabs",{"type":52,"value":1888}," during full workload — if exceeded, restore original\n",{"type":47,"tag":162,"props":1890,"children":1892},{"className":1891},[],[1893],{"type":52,"value":175},{"type":52,"value":1895}," and re-flash ",{"type":47,"tag":162,"props":1897,"children":1899},{"className":1898},[],[1900],{"type":52,"value":1901},"kernel-dtb",{"type":52,"value":599},{"type":47,"tag":266,"props":1904,"children":1906},{"id":1905},"purpose",[1907],{"type":52,"value":1908},"Purpose",{"type":47,"tag":54,"props":1910,"children":1911},{},[1912],{"type":52,"value":1913},"Cut the unused DRAM carveouts that ship enabled in the reference BSP\nwhen a Jetson deployment skips display, camera, or other peripherals,\nfreeing the freed bytes for the application. Always edits the four\nlayers in boot order so an early-stage carveout never outranks a\nlater-stage shrink.",{"type":47,"tag":266,"props":1915,"children":1917},{"id":1916},"prerequisites",[1918],{"type":52,"value":1919},"Prerequisites",{"type":47,"tag":188,"props":1921,"children":1922},{},[1923,1935,1955],{"type":47,"tag":192,"props":1924,"children":1925},{},[1926,1928,1934],{"type":52,"value":1927},"Active target profile resolved per\n",{"type":47,"tag":162,"props":1929,"children":1931},{"className":1930},[],[1932],{"type":52,"value":1933},"..\u002F..\u002Fcontext\u002Ftarget-platform-contract.md",{"type":52,"value":599},{"type":47,"tag":192,"props":1936,"children":1937},{},[1938,1940,1946,1947,1953],{"type":52,"value":1939},"BSP image extracted and source tree initialized\n(",{"type":47,"tag":162,"props":1941,"children":1943},{"className":1942},[],[1944],{"type":52,"value":1945},"\u002Fjetson-init-image",{"type":52,"value":439},{"type":47,"tag":162,"props":1948,"children":1950},{"className":1949},[],[1951],{"type":52,"value":1952},"\u002Fjetson-init-source",{"type":52,"value":1954}," complete).",{"type":47,"tag":192,"props":1956,"children":1957},{},[1958],{"type":52,"value":1959},"For headless \u002F no-camera recipes: confirm the workload truly does not\nneed display or camera.",{"type":47,"tag":266,"props":1961,"children":1963},{"id":1962},"limitations",[1964],{"type":52,"value":1965},"Limitations",{"type":47,"tag":188,"props":1967,"children":1968},{},[1969,1993,2005],{"type":47,"tag":192,"props":1970,"children":1971},{},[1972,1974,1979,1980,1985,1986,1991],{"type":52,"value":1973},"Only the validated recipes (",{"type":47,"tag":162,"props":1975,"children":1977},{"className":1976},[],[1978],{"type":52,"value":312},{"type":52,"value":439},{"type":47,"tag":162,"props":1981,"children":1983},{"className":1982},[],[1984],{"type":52,"value":361},{"type":52,"value":439},{"type":47,"tag":162,"props":1987,"children":1989},{"className":1988},[],[1990],{"type":52,"value":42},{"type":52,"value":1992},") are\nexposed; ad-hoc subsystem disables outside the recipe set are\nrefused.",{"type":47,"tag":192,"props":1994,"children":1995},{},[1996,1998,2003],{"type":52,"value":1997},"SWIOTLB shrink is bounded by peak in-flight DMA — exceeding the new\n",{"type":47,"tag":162,"props":1999,"children":2001},{"className":2000},[],[2002],{"type":52,"value":1886},{"type":52,"value":2004}," requires reverting the change.",{"type":47,"tag":192,"props":2006,"children":2007},{},[2008],{"type":52,"value":2009},"BPMP-DTB edits land in the overlay tracker only after Customize +\nBuild + Deploy run; this skill does not flash on its own.",{"type":47,"tag":266,"props":2011,"children":2013},{"id":2012},"troubleshooting",[2014],{"type":52,"value":2015},"Troubleshooting",{"type":47,"tag":188,"props":2017,"children":2018},{},[2019,2029,2064,2082],{"type":47,"tag":192,"props":2020,"children":2021},{},[2022,2027],{"type":47,"tag":182,"props":2023,"children":2024},{},[2025],{"type":52,"value":2026},"Boot fails after MB1 BCT carveout disable",{"type":52,"value":2028}," — restore the pristine\nmisc DTS and re-flash; the missing carveout is mandatory for the\nactive SoC.",{"type":47,"tag":192,"props":2030,"children":2031},{},[2032,2048,2050,2056,2057,2062],{"type":47,"tag":182,"props":2033,"children":2034},{},[2035,2041,2043],{"type":47,"tag":162,"props":2036,"children":2038},{"className":2037},[],[2039],{"type":52,"value":2040},"io_tlb_used",{"type":52,"value":2042}," exceeds ",{"type":47,"tag":162,"props":2044,"children":2046},{"className":2045},[],[2047],{"type":52,"value":1886},{"type":52,"value":2049}," — revert ",{"type":47,"tag":162,"props":2051,"children":2053},{"className":2052},[],[2054],{"type":52,"value":2055},"swiotlb=",{"type":52,"value":1279},{"type":47,"tag":162,"props":2058,"children":2060},{"className":2059},[],[2061],{"type":52,"value":175},{"type":52,"value":2063}," and re-flash the kernel DTB partition.",{"type":47,"tag":192,"props":2065,"children":2066},{},[2067,2072,2074,2080],{"type":47,"tag":182,"props":2068,"children":2069},{},[2070],{"type":52,"value":2071},"Reclaimed delta smaller than expected",{"type":52,"value":2073}," — verify the recipe truly\nmatched the deployment (e.g. display still attached); use the\n",{"type":47,"tag":162,"props":2075,"children":2077},{"className":2076},[],[2078],{"type":52,"value":2079},"dmesg | grep -iE 'firmware|carveout'",{"type":52,"value":2081}," check in this file to confirm.",{"type":47,"tag":192,"props":2083,"children":2084},{},[2085,2097,2099,2105,2107,2113],{"type":47,"tag":182,"props":2086,"children":2087},{},[2088,2090,2095],{"type":52,"value":2089},"Validation ",{"type":47,"tag":162,"props":2091,"children":2093},{"className":2092},[],[2094],{"type":52,"value":1689},{"type":52,"value":2096}," shows the disabled subsystem still probing",{"type":52,"value":2098}," —\nthe change probably did not promote through to ",{"type":47,"tag":162,"props":2100,"children":2102},{"className":2101},[],[2103],{"type":52,"value":2104},"bsp_image",{"type":52,"value":2106},"; re-run\n",{"type":47,"tag":162,"props":2108,"children":2110},{"className":2109},[],[2111],{"type":52,"value":2112},"\u002Fjetson-promote-image",{"type":52,"value":599},{"type":47,"tag":262,"props":2115,"children":2116},{},[],{"type":47,"tag":2118,"props":2119,"children":2120},"style",{},[2121],{"type":52,"value":2122},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":2124,"total":2226},[2125,2140,2154,2168,2180,2197,2212],{"slug":2126,"name":2126,"fn":2127,"description":2128,"org":2129,"tags":2130,"stars":20,"repoUrl":21,"updatedAt":2139},"accelerated-computing-cudf","accelerate data processing with cuDF","Official NVIDIA-authored guidance for NVIDIA cuDF GPU DataFrames, pandas acceleration, dask-cuDF, ETL, joins, groupby, CSV\u002FParquet I\u002FO, nullable semantics, and multi-GPU DataFrame workloads.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2131,2134,2137,2138],{"name":2132,"slug":2133,"type":15},"Data Analysis","data-analysis",{"name":2135,"slug":2136,"type":15},"Data Engineering","data-engineering",{"name":9,"slug":8,"type":15},{"name":13,"slug":14,"type":15},"2026-07-14T05:28:43.176466",{"slug":2141,"name":2141,"fn":2142,"description":2143,"org":2144,"tags":2145,"stars":20,"repoUrl":21,"updatedAt":2153},"aiq-deploy","deploy and manage NVIDIA AI-Q infrastructure","Use when asked to install, deploy, run, validate, troubleshoot, or stop NVIDIA AI-Q Blueprint infrastructure.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2146,2149,2152],{"name":2147,"slug":2148,"type":15},"Deployment","deployment",{"name":2150,"slug":2151,"type":15},"Infrastructure","infrastructure",{"name":9,"slug":8,"type":15},"2026-07-14T05:29:06.667109",{"slug":2155,"name":2155,"fn":2156,"description":2157,"org":2158,"tags":2159,"stars":20,"repoUrl":21,"updatedAt":2167},"aiq-research","conduct deep research with AI-Q","Use when asked to run deep research or AI-Q research through a reachable NVIDIA AI-Q Blueprint backend.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2160,2163,2164],{"name":2161,"slug":2162,"type":15},"Agents","agents",{"name":9,"slug":8,"type":15},{"name":2165,"slug":2166,"type":15},"Research","research","2026-07-14T05:28:06.816956",{"slug":2169,"name":2169,"fn":2170,"description":2171,"org":2172,"tags":2173,"stars":20,"repoUrl":21,"updatedAt":2179},"amc-run-sample-calibration","run AMC sample dataset calibration","Run end-to-end calibration on the shipped sample dataset (sdg_08_2_sample_data_010926.zip) against a running AMC microservice. Use when user says 'test sample dataset', 'run sample calibration', 'verify AMC install', or 'launch and test'.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2174,2175,2176],{"name":2132,"slug":2133,"type":15},{"name":9,"slug":8,"type":15},{"name":2177,"slug":2178,"type":15},"Testing","testing","2026-07-17T05:29:03.913266",{"slug":2181,"name":2181,"fn":2182,"description":2183,"org":2184,"tags":2185,"stars":20,"repoUrl":21,"updatedAt":2196},"amc-run-video-calibration","calibrate video datasets with AutoMagicCalib","Calibrate a new dataset from pre-recorded video files via the AutoMagicCalib REST API. Use when user has local MP4s and says 'calibrate my videos', 'run AMC on these videos', or similar. For RTSP\u002Flive streams, use amc-run-rtsp-calibration instead.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2186,2189,2192,2193],{"name":2187,"slug":2188,"type":15},"Automation","automation",{"name":2190,"slug":2191,"type":15},"Imaging","imaging",{"name":9,"slug":8,"type":15},{"name":2194,"slug":2195,"type":15},"Video","video","2026-07-17T05:28:53.905004",{"slug":2198,"name":2198,"fn":2199,"description":2200,"org":2201,"tags":2202,"stars":20,"repoUrl":21,"updatedAt":2211},"amc-setup-calibration-stack","deploy AutoMagicCalib microservice with Docker","Launch AutoMagicCalib microservice and web UI from NGC release images via Docker Compose. Use when user says 'deploy auto calibration', 'launch auto calibration', 'launch AMC', 'start MS+UI', or 'set up auto-magic-calib'. Requires NGC API key.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2203,2204,2207,2208],{"name":2147,"slug":2148,"type":15},{"name":2205,"slug":2206,"type":15},"Docker","docker",{"name":9,"slug":8,"type":15},{"name":2209,"slug":2210,"type":15},"Operations","operations","2026-07-17T05:28:56.913999",{"slug":2213,"name":2213,"fn":2214,"description":2215,"org":2216,"tags":2217,"stars":20,"repoUrl":21,"updatedAt":2225},"cudaq-guide","develop quantum applications with CUDA-Q","CUDA-Q onboarding guide for installation, test programs, GPU simulation, QPU hardware, and quantum applications.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2218,2219,2222],{"name":9,"slug":8,"type":15},{"name":2220,"slug":2221,"type":15},"Quantum Computing","quantum-computing",{"name":2223,"slug":2224,"type":15},"Simulation","simulation","2026-07-14T05:26:58.898253",305,{"items":2228,"total":2379},[2229,2247,2263,2274,2286,2300,2313,2327,2338,2347,2361,2370],{"slug":2230,"name":2230,"fn":2231,"description":2232,"org":2233,"tags":2234,"stars":2244,"repoUrl":2245,"updatedAt":2246},"nemoclaw-user-guide","retrieve NemoClaw documentation and configuration","Guides human users' AI agents to the NemoClaw docs MCP server and canonical Fern documentation in Markdown form. Use when users ask how to install, configure, operate, troubleshoot, secure, or learn NemoClaw with an AI coding assistant. Trigger keywords - nemoclaw docs, use nemoclaw with ai agent, nemoclaw mcp docs, nemoclaw install help, nemoclaw quickstart, nemoclaw markdown docs, llms.txt, agent skills.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2235,2238,2241],{"name":2236,"slug":2237,"type":15},"Documentation","documentation",{"name":2239,"slug":2240,"type":15},"MCP","mcp",{"name":2242,"slug":2243,"type":15},"Search","search",21777,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FNemoClaw","2026-07-20T06:00:01.461044",{"slug":2248,"name":2248,"fn":2249,"description":2250,"org":2251,"tags":2252,"stars":2260,"repoUrl":2261,"updatedAt":2262},"mcore-build-and-dependency","manage Megatron-LM development environments","Container-based dev environment setup and dependency management for Megatron-LM. Covers acquiring and launching the CI container, uv package management, and updating uv.lock.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2253,2256,2257],{"name":2254,"slug":2255,"type":15},"Containers","containers",{"name":2147,"slug":2148,"type":15},{"name":2258,"slug":2259,"type":15},"Python","python",17049,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FMegatron-LM","2026-07-27T06:06:11.249662",{"slug":2264,"name":2264,"fn":2265,"description":2266,"org":2267,"tags":2268,"stars":2260,"repoUrl":2261,"updatedAt":2273},"mcore-bump-base-image","update NVIDIA PyTorch base images","Bump the NVIDIA PyTorch base image (`nvcr.io\u002Fnvidia\u002Fpytorch:YY.MM-py3`) used by Megatron-LM CI. Covers the two pin sites (GitHub CI in `docker\u002F.ngc_version.dev` and GitLab CI in `.gitlab\u002Fstages\u002F01.build.yml`), the post-bump CI loop (re-run functional tests, refresh golden values, mark broken tests), and the gotchas that bit PRs",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2269,2272],{"name":2270,"slug":2271,"type":15},"CI\u002FCD","ci-cd",{"name":2147,"slug":2148,"type":15},"2026-07-14T05:25:59.97109",{"slug":2275,"name":2275,"fn":2276,"description":2277,"org":2278,"tags":2279,"stars":2260,"repoUrl":2261,"updatedAt":2285},"mcore-cicd","manage CI\u002FCD pipelines for Megatron-LM","CI\u002FCD reference for Megatron-LM. Covers CI pipeline structure, PR scope labels, triggering internal GitLab CI (which force-pushes the current branch to a pull-request\u002FBRANCH ref — always dry-run and verify the destination first; never run against shared or protected branches), and CI failure investigation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2280,2281,2282],{"name":2270,"slug":2271,"type":15},{"name":2147,"slug":2148,"type":15},{"name":2283,"slug":2284,"type":15},"GitHub","github","2026-07-27T06:06:12.278222",{"slug":2287,"name":2287,"fn":2288,"description":2289,"org":2290,"tags":2291,"stars":2260,"repoUrl":2261,"updatedAt":2299},"mcore-create-issue","investigate CI failures and create issues","Investigate a failing GitHub Actions run or job and create a GitHub issue for the failure.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2292,2295,2296],{"name":2293,"slug":2294,"type":15},"Debugging","debugging",{"name":2283,"slug":2284,"type":15},{"name":2297,"slug":2298,"type":15},"Triage","triage","2026-07-14T05:25:57.442089",{"slug":2301,"name":2301,"fn":2302,"description":2303,"org":2304,"tags":2305,"stars":2260,"repoUrl":2261,"updatedAt":2312},"mcore-linting-and-formatting","lint and format Megatron-LM code","Linting and formatting for Megatron-LM. Covers running autoformat.sh, tools (ruff, black, isort, pylint, mypy), and code style rules.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2306,2309],{"name":2307,"slug":2308,"type":15},"Best Practices","best-practices",{"name":2310,"slug":2311,"type":15},"Code Analysis","code-analysis","2026-07-14T05:25:56.18433",{"slug":2314,"name":2314,"fn":2315,"description":2316,"org":2317,"tags":2318,"stars":2260,"repoUrl":2261,"updatedAt":2326},"mcore-migrate-gpt-to-hybrid","migrate Megatron-LM models to HybridModel","Migration guide for moving Megatron Core GPTModel checkpoints, model providers, training commands, and layer mappings to HybridModel.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2319,2322,2325],{"name":2320,"slug":2321,"type":15},"Machine Learning","machine-learning",{"name":2323,"slug":2324,"type":15},"Migration","migration",{"name":9,"slug":8,"type":15},"2026-07-17T06:07:11.777011",{"slug":2328,"name":2328,"fn":2329,"description":2330,"org":2331,"tags":2332,"stars":2260,"repoUrl":2261,"updatedAt":2337},"mcore-onboard-gb200-1node-tests","onboard functional tests for GB200","Onboard 1-node GitHub MR functional tests for GB200 from existing mr-scoped 2-node tests.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2333,2336],{"name":2334,"slug":2335,"type":15},"QA","qa",{"name":2177,"slug":2178,"type":15},"2026-07-14T05:25:53.673039",{"slug":2339,"name":2339,"fn":2340,"description":2341,"org":2342,"tags":2343,"stars":2260,"repoUrl":2261,"updatedAt":2346},"mcore-run-on-slurm","launch distributed training jobs on SLURM","How to launch distributed Megatron-LM training jobs on a SLURM cluster. Covers a minimal sbatch skeleton, environment-variable setup for torch.distributed.run, CUDA_DEVICE_MAX_CONNECTIONS rules across hardware and parallelism modes, container conventions, monitoring, and per-rank failure diagnosis.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2344,2345],{"name":2147,"slug":2148,"type":15},{"name":2150,"slug":2151,"type":15},"2026-07-14T05:25:49.362534",{"slug":2348,"name":2348,"fn":2349,"description":2350,"org":2351,"tags":2352,"stars":2260,"repoUrl":2261,"updatedAt":2360},"mcore-split-pr","split pull requests to reduce review load","Split a PR into multiple PRs to reduce the number of required CODEOWNERS reviewer groups.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2353,2356,2357],{"name":2354,"slug":2355,"type":15},"Code Review","code-review",{"name":2283,"slug":2284,"type":15},{"name":2358,"slug":2359,"type":15},"Pull Requests","pull-requests","2026-07-14T05:26:01.226578",{"slug":2362,"name":2362,"fn":2363,"description":2364,"org":2365,"tags":2366,"stars":2260,"repoUrl":2261,"updatedAt":2369},"mcore-testing","run and manage Megatron-LM tests","Test system for Megatron-LM. Covers test layout, recipe YAML structure, adding and running unit and functional tests, golden values, marker filters, and CI parity.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2367,2368],{"name":2334,"slug":2335,"type":15},{"name":2177,"slug":2178,"type":15},"2026-07-14T05:25:54.928983",{"slug":2371,"name":2371,"fn":2372,"description":2373,"org":2374,"tags":2375,"stars":2260,"repoUrl":2261,"updatedAt":2378},"nightly-sync","manage nightly main-to-dev sync workflows","Domain knowledge for the nightly main-to-dev sync workflow. Covers merge strategy, CI architecture, failure investigation, and known issues.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2376,2377],{"name":2187,"slug":2188,"type":15},{"name":2270,"slug":2271,"type":15},"2026-07-30T05:29:03.275638",496]