Compare commits
	
		
			34 Commits
		
	
	
		
			system76
			...
			brightness
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | aa3cac14ab | ||
|  | f3ecbaeb3b | ||
|  | e8df441ef2 | ||
|  | e824c88b95 | ||
|  | f7cea308fc | ||
|  | 566623f0fc | ||
|  | 2c8c5cf25b | ||
|  | c70505ff8d | ||
|  | 7df47320ec | ||
|  | 6ab4a7243c | ||
|  | 38c3eda699 | ||
|  | 4a2741633b | ||
|  | 60f3d71981 | ||
|  | d6d4c5e355 | ||
|  | 5b13dc0f5e | ||
|  | f941def9dd | ||
|  | b41369176f | ||
|  | e96476dd65 | ||
|  | 9113e145db | ||
|  | bb54e49a54 | ||
|  | be0dfcd68a | ||
|  | ed92a6d587 | ||
|  | b21bd87af0 | ||
|  | f224ddbc78 | ||
|  | e3033b56fe | ||
|  | cfa8635d03 | ||
|  | 868c102d2f | ||
|  | f6ed8684a5 | ||
|  | 920d350c9f | ||
|  | d241bc97c9 | ||
|  | 70657e373f | ||
|  | 8d5df37c79 | ||
|  | ed35db9071 | ||
|  | f2182a3f95 | 
							
								
								
									
										5
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							| @@ -13,6 +13,9 @@ | ||||
| [submodule "arm-trusted-firmware"] | ||||
| 	path = 3rdparty/arm-trusted-firmware | ||||
| 	url = https://review.coreboot.org/arm-trusted-firmware.git | ||||
| [submodule "3rdparty/chromeec"] | ||||
| 	path = 3rdparty/chromeec | ||||
| 	url = https://review.coreboot.org/chrome-ec.git | ||||
| [submodule "libhwbase"] | ||||
| 	path = 3rdparty/libhwbase | ||||
| 	url = https://review.coreboot.org/libhwbase.git | ||||
| @@ -60,7 +63,7 @@ | ||||
| 	branch = stmpe | ||||
| [submodule "util/goswid"] | ||||
| 	path = util/goswid | ||||
| 	url = https://review.coreboot.org/goswid | ||||
| 	url = https://review.coreboot.org/goswid.git | ||||
| 	branch = trunk | ||||
| [submodule "src/vendorcode/amd/opensil/genoa_poc/opensil"] | ||||
| 	path = src/vendorcode/amd/opensil/genoa_poc/opensil | ||||
|   | ||||
							
								
								
									
										2
									
								
								3rdparty/amd_blobs
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								3rdparty/amd_blobs
									
									
									
									
										vendored
									
									
								
							 Submodule 3rdparty/amd_blobs updated: 26c572974b...64cdd7c8ef
									
								
							
							
								
								
									
										2
									
								
								3rdparty/arm-trusted-firmware
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								3rdparty/arm-trusted-firmware
									
									
									
									
										vendored
									
									
								
							 Submodule 3rdparty/arm-trusted-firmware updated: c5b8de86c8...17bef2248d
									
								
							
							
								
								
									
										2
									
								
								3rdparty/blobs
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								3rdparty/blobs
									
									
									
									
										vendored
									
									
								
							 Submodule 3rdparty/blobs updated: 45f1b75740...a8db7dfe82
									
								
							
							
								
								
									
										1
									
								
								3rdparty/chromeec
									
									
									
									
										vendored
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								3rdparty/chromeec
									
									
									
									
										vendored
									
									
										Submodule
									
								
							 Submodule 3rdparty/chromeec added at e486b388a7
									
								
							
							
								
								
									
										2
									
								
								3rdparty/cmocka
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								3rdparty/cmocka
									
									
									
									
										vendored
									
									
								
							 Submodule 3rdparty/cmocka updated: 8be3737209...8931845c35
									
								
							
							
								
								
									
										2
									
								
								3rdparty/fsp
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								3rdparty/fsp
									
									
									
									
										vendored
									
									
								
							 Submodule 3rdparty/fsp updated: 800c85770b...507ef01cce
									
								
							
							
								
								
									
										2
									
								
								3rdparty/intel-microcode
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								3rdparty/intel-microcode
									
									
									
									
										vendored
									
									
								
							 Submodule 3rdparty/intel-microcode updated: 2f5650548f...ece0d294a2
									
								
							
							
								
								
									
										2
									
								
								3rdparty/libgfxinit
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								3rdparty/libgfxinit
									
									
									
									
										vendored
									
									
								
							 Submodule 3rdparty/libgfxinit updated: 17cfc92f40...a4be8a21b0
									
								
							
							
								
								
									
										2
									
								
								3rdparty/vboot
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								3rdparty/vboot
									
									
									
									
										vendored
									
									
								
							 Submodule 3rdparty/vboot updated: f1f70f46dc...3d37d2aafe
									
								
							
							
								
								
									
										30
									
								
								AUTHORS
									
									
									
									
									
								
							
							
						
						
									
										30
									
								
								AUTHORS
									
									
									
									
									
								
							| @@ -39,9 +39,7 @@ Alexandru Gagniuc | ||||
| Alexey Buyanov | ||||
| Alexey Vazhnov | ||||
| Alice Sell | ||||
| Alicja Michalska | ||||
| Allen-KH Cheng | ||||
| Alper Nebi Yasak | ||||
| Amanda Hwang | ||||
| American Megatrends International, LLC | ||||
| Amersel | ||||
| @@ -64,7 +62,6 @@ Anna Karaś | ||||
| Annie Chen | ||||
| Anton Kochkov | ||||
| Ao Zhong | ||||
| Appukuttan V K | ||||
| Arashk Mahshidfar | ||||
| Arec Kao | ||||
| Ariel Fang | ||||
| @@ -96,7 +93,6 @@ Bora Guvendik | ||||
| Boris Barbulovski | ||||
| Boris Mittelberg | ||||
| Brandon Breitenstein | ||||
| Brandon Weeks | ||||
| Brian Norris | ||||
| Bryant Ou | ||||
| Carl-Daniel Hailfinger | ||||
| @@ -105,7 +101,6 @@ Caveh Jalali | ||||
| Cavium Inc. | ||||
| Chao Gui | ||||
| Chen-Tsung Hsieh | ||||
| Chen. Gang C | ||||
| Chia-Ling Hou | ||||
| Chien-Chih Tseng | ||||
| Chris Wang | ||||
| @@ -133,7 +128,6 @@ Da Lao | ||||
| Daisuke Nojiri | ||||
| Damien Zammit | ||||
| Dan Callaghan | ||||
| Dan Campbell | ||||
| Daniel Campello | ||||
| Daniel Gröber | ||||
| Daniel Kang | ||||
| @@ -187,7 +181,6 @@ Eltan B.V | ||||
| Eltan B.V. | ||||
| Elyes Haouas | ||||
| Eran Mitrani | ||||
| Eren Peng | ||||
| Eric Biederman | ||||
| Eric Lai | ||||
| Eric Peers | ||||
| @@ -201,16 +194,13 @@ Evan Green | ||||
| Evgeny Zinoviev | ||||
| Fabian Groffen | ||||
| Fabian Kunkel | ||||
| Fabian Meyer | ||||
| Fabio Aiuto | ||||
| Fabrice Bellard | ||||
| Facebook, Inc. | ||||
| Fei Yan | ||||
| Felix Friedlander | ||||
| Felix Held | ||||
| Felix Singer | ||||
| Fengquan Chen | ||||
| Filip Lewiński | ||||
| Flora Fu | ||||
| Florian Laufenböck | ||||
| Francois Toguo Fotso | ||||
| @@ -244,7 +234,6 @@ HardenedLinux | ||||
| Harsha B R | ||||
| Harshit Sharma | ||||
| Henry C Chen | ||||
| Herbert Wu | ||||
| Hewlett Packard Enterprise Development LP | ||||
| Hewlett-Packard Development Company, L.P. | ||||
| Himanshu Sahdev | ||||
| @@ -297,7 +286,6 @@ Jason Zhao | ||||
| jason-ch chen | ||||
| Jason-jh Lin | ||||
| Jay Patel | ||||
| Jean Lucas | ||||
| Jeff Chase | ||||
| Jeff Daly | ||||
| Jeff Li | ||||
| @@ -319,7 +307,6 @@ Jitao Shi | ||||
| Joe Pillow | ||||
| Joe Tessler | ||||
| Joel Kitching | ||||
| Joel Linn | ||||
| Joey Peng | ||||
| Johanna Schander | ||||
| John Su | ||||
| @@ -338,7 +325,6 @@ Jordan Crouse | ||||
| Jörg Mische | ||||
| Joseph Smith | ||||
| Josie Nordrum | ||||
| Juan José García-Castro Crespo | ||||
| Julia Tsai | ||||
| Julian Schroeder | ||||
| Julian Stecklina | ||||
| @@ -351,7 +337,6 @@ Kangheui Won | ||||
| Kapil Porwal | ||||
| Karol Zmyslowski | ||||
| Karthik Ramasubramanian | ||||
| Kei Hiroyoshi | ||||
| Keith Hui | ||||
| Keith Packard | ||||
| Kenneth Chan | ||||
| @@ -382,11 +367,9 @@ Lawrence Chang | ||||
| Leah Rowe | ||||
| Lean Sheng Tan | ||||
| Lei Wen | ||||
| Lennart Eichhorn | ||||
| Lenovo Group Ltd | ||||
| Leo Chou | ||||
| Li-Ta Lo | ||||
| Li1 Feng | ||||
| Liam Flaherty | ||||
| Libra Li | ||||
| Libretrend LDA | ||||
| @@ -414,7 +397,6 @@ Marc Bertens | ||||
| Marc Jones | ||||
| Marco Chen | ||||
| Marek Kasiewicz | ||||
| Marek Maślanka | ||||
| Marek Vasut | ||||
| Mario Scheithauer | ||||
| Marius Gröger | ||||
| @@ -483,12 +465,10 @@ Myles Watson | ||||
| Nancy.Lin | ||||
| Naresh Solanki | ||||
| Nathan Lu | ||||
| Naveen R. Iyer | ||||
| Neill Corlett | ||||
| Network Appliance Inc. | ||||
| Nicholas Chin | ||||
| Nicholas Sielicki | ||||
| Nicholas Sudsgaard | ||||
| Nick Barker | ||||
| Nick Chen | ||||
| Nick Vaccaro | ||||
| @@ -522,7 +502,6 @@ Paul Fagerburg | ||||
| Paul Menzel | ||||
| Paul2 Huang | ||||
| Paulo Alcantara | ||||
| Pavan Holla | ||||
| Pavel Sayekat | ||||
| Paz Zcharya | ||||
| PC Engines GmbH | ||||
| @@ -541,7 +520,6 @@ Philipp Deppenwiese | ||||
| Philipp Hug | ||||
| Piotr Kleinschmidt | ||||
| Po Xu | ||||
| Poornima Tom | ||||
| Prasad Malisetty | ||||
| Prashant Malani | ||||
| Pratik Vishwakarma | ||||
| @@ -551,7 +529,6 @@ Protectli | ||||
| Purism SPC | ||||
| Purism, SPC | ||||
| Qii Wang | ||||
| Qinghong Zeng | ||||
| Qualcomm Technologies, Inc. | ||||
| Quanta Computer INC | ||||
| Raihow Shi | ||||
| @@ -595,7 +572,6 @@ Robinson P. Tryon | ||||
| Rockchip, Inc. | ||||
| Rocky Phagura | ||||
| Roger Lu | ||||
| Roger Wang | ||||
| Roja Rani Yarubandi | ||||
| Romain Lievin | ||||
| Roman Zippel | ||||
| @@ -770,13 +746,11 @@ Wolfgang Denk | ||||
| Won Chung | ||||
| Wonkyu Kim | ||||
| Wuxy  | ||||
| Xiang W | ||||
| Xin Ji | ||||
| Xixi Chen | ||||
| Xuxin Xiong | ||||
| YADRO | ||||
| Yan Liu | ||||
| Yang Wu | ||||
| Yann Collet | ||||
| Yaroslav Kurlaev | ||||
| YH Lin | ||||
| @@ -793,7 +767,6 @@ Yuanliding | ||||
| Yuchen He | ||||
| Yuchen Huang | ||||
| Yunlong Jia | ||||
| Yuval Peress | ||||
| Zachary Yedidia | ||||
| Zanxi Chen | ||||
| Zhanyong Wang | ||||
| @@ -803,11 +776,10 @@ Zhi7 Li | ||||
| Zhiqiang Ma | ||||
| Zhixing Ma | ||||
| Zhiyong Tao | ||||
| Zhongtian Wu | ||||
| zhongtian wu | ||||
| Zhuohao Lee | ||||
| Ziang Wang | ||||
| Zoey Wu | ||||
| Zoltan Baldaszti | ||||
| 小田喜陽彦 | ||||
| 忧郁沙茶 | ||||
| 陳建宏 | ||||
| @@ -31,7 +31,8 @@ livesphinx: $(BUILDDIR) | ||||
|  | ||||
| test: | ||||
| 	@echo "Test for logging purposes - Failing tests will not fail the build" | ||||
| 	-$(MAKE) -f Makefile.sphinx clean && $(MAKE) -k -f Makefile.sphinx html | ||||
| 	-$(MAKE) -f Makefile.sphinx clean && $(MAKE) -K -f Makefile.sphinx html | ||||
| 	-$(MAKE) -f Makefile.sphinx clean && $(MAKE) -K -f Makefile.sphinx doctest | ||||
|  | ||||
| help: | ||||
| 	@echo "all            - Builds all documentation targets" | ||||
|   | ||||
| @@ -1,20 +1,60 @@ | ||||
| ## SPDX-License-Identifier: GPL-2.0-only | ||||
| # Minimal makefile for Sphinx documentation | ||||
| # Makefile for Sphinx documentation | ||||
| # | ||||
|  | ||||
| # You can set these variables from the command line, and also | ||||
| # from the environment for the first two. | ||||
| SPHINXOPTS    ?= | ||||
| SPHINXBUILD   ?= sphinx-build | ||||
| SPHINXAUTOBUILD = sphinx-autobuild | ||||
| SOURCEDIR     = . | ||||
| BUILDDIR      = _build | ||||
| # You can set these variables from the command line. | ||||
| SPHINXOPTS        ?= | ||||
| SPHINXBUILD       = sphinx-build | ||||
| SPHINXAUTOBUILD   = sphinx-autobuild | ||||
| PAPER             = | ||||
| BUILDDIR          = _build | ||||
|  | ||||
| # Put it first so that "make" without argument is like "make help". | ||||
| # Internal variables. | ||||
| PAPEROPT_a4     = -D latex_paper_size=a4 | ||||
| PAPEROPT_letter = -D latex_paper_size=letter | ||||
| ALLSPHINXOPTS   = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . | ||||
| # the i18n builder cannot share the environment and doctrees with the others | ||||
| I18NSPHINXOPTS  = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . | ||||
|  | ||||
| .PHONY: help | ||||
| help: | ||||
| 	@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) | ||||
| 	@echo "Please use \`make <target>' where <target> is one of" | ||||
| 	@echo "  html       to make standalone HTML files" | ||||
| 	@echo "  dirhtml    to make HTML files named index.html in directories" | ||||
| 	@echo "  singlehtml to make a single large HTML file" | ||||
| 	@echo "  pickle     to make pickle files" | ||||
| 	@echo "  json       to make JSON files" | ||||
| 	@echo "  htmlhelp   to make HTML files and a HTML help project" | ||||
| 	@echo "  qthelp     to make HTML files and a qthelp project" | ||||
| 	@echo "  applehelp  to make an Apple Help Book" | ||||
| 	@echo "  devhelp    to make HTML files and a Devhelp project" | ||||
| 	@echo "  epub       to make an epub" | ||||
| 	@echo "  epub3      to make an epub3" | ||||
| 	@echo "  latex      to make LaTeX files, you can set PAPER=a4 or PAPER=letter" | ||||
| 	@echo "  latexpdf   to make LaTeX files and run them through pdflatex" | ||||
| 	@echo "  latexpdfja to make LaTeX files and run them through platex/dvipdfmx" | ||||
| 	@echo "  text       to make text files" | ||||
| 	@echo "  man        to make manual pages" | ||||
| 	@echo "  texinfo    to make Texinfo files" | ||||
| 	@echo "  info       to make Texinfo files and run them through makeinfo" | ||||
| 	@echo "  gettext    to make PO message catalogs" | ||||
| 	@echo "  changes    to make an overview of all changed/added/deprecated items" | ||||
| 	@echo "  xml        to make Docutils-native XML files" | ||||
| 	@echo "  pseudoxml  to make pseudoxml-XML files for display purposes" | ||||
| 	@echo "  linkcheck  to check all external links for integrity" | ||||
| 	@echo "  doctest    to run all doctests embedded in the documentation (if enabled)" | ||||
| 	@echo "  coverage   to run coverage check of the documentation (if enabled)" | ||||
| 	@echo "  dummy      to check syntax errors of document sources" | ||||
|  | ||||
| .PHONY: help Makefile.sphinx | ||||
| .PHONY: clean | ||||
| clean: | ||||
| 	rm -rf $(BUILDDIR) | ||||
|  | ||||
| .PHONY: html | ||||
| html: | ||||
| 	$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html | ||||
| 	@echo | ||||
| 	@echo "Build finished. The HTML pages are in $(BUILDDIR)/html." | ||||
|  | ||||
| .PHONY: livehtml | ||||
| livehtml: | ||||
| @@ -23,7 +63,172 @@ livehtml: | ||||
| 	@echo | ||||
| 	$(SPHINXAUTOBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR) | ||||
|  | ||||
| # Catch-all target: route all unknown targets to Sphinx using the new | ||||
| # "make mode" option.  $(O) is meant as a shortcut for $(SPHINXOPTS). | ||||
| %: Makefile.sphinx | ||||
| 	@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) | ||||
| .PHONY: dirhtml | ||||
| dirhtml: | ||||
| 	$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml | ||||
| 	@echo | ||||
| 	@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." | ||||
|  | ||||
| .PHONY: singlehtml | ||||
| singlehtml: | ||||
| 	$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml | ||||
| 	@echo | ||||
| 	@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." | ||||
|  | ||||
| .PHONY: pickle | ||||
| pickle: | ||||
| 	$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle | ||||
| 	@echo | ||||
| 	@echo "Build finished; now you can process the pickle files." | ||||
|  | ||||
| .PHONY: json | ||||
| json: | ||||
| 	$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json | ||||
| 	@echo | ||||
| 	@echo "Build finished; now you can process the JSON files." | ||||
|  | ||||
| .PHONY: htmlhelp | ||||
| htmlhelp: | ||||
| 	$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp | ||||
| 	@echo | ||||
| 	@echo "Build finished; now you can run HTML Help Workshop with the" \ | ||||
| 	      ".hhp project file in $(BUILDDIR)/htmlhelp." | ||||
|  | ||||
| .PHONY: qthelp | ||||
| qthelp: | ||||
| 	$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp | ||||
| 	@echo | ||||
| 	@echo "Build finished; now you can run "qcollectiongenerator" with the" \ | ||||
| 	      ".qhcp project file in $(BUILDDIR)/qthelp, like this:" | ||||
| 	@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/coreboot.qhcp" | ||||
| 	@echo "To view the help file:" | ||||
| 	@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/coreboot.qhc" | ||||
|  | ||||
| .PHONY: applehelp | ||||
| applehelp: | ||||
| 	$(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp | ||||
| 	@echo | ||||
| 	@echo "Build finished. The help book is in $(BUILDDIR)/applehelp." | ||||
| 	@echo "N.B. You won't be able to view it unless you put it in" \ | ||||
| 	      "~/Library/Documentation/Help or install it in your application" \ | ||||
| 	      "bundle." | ||||
|  | ||||
| .PHONY: devhelp | ||||
| devhelp: | ||||
| 	$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp | ||||
| 	@echo | ||||
| 	@echo "Build finished." | ||||
| 	@echo "To view the help file:" | ||||
| 	@echo "# mkdir -p $$HOME/.local/share/devhelp/coreboot" | ||||
| 	@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/coreboot" | ||||
| 	@echo "# devhelp" | ||||
|  | ||||
| .PHONY: epub | ||||
| epub: | ||||
| 	$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub | ||||
| 	@echo | ||||
| 	@echo "Build finished. The epub file is in $(BUILDDIR)/epub." | ||||
|  | ||||
| .PHONY: epub3 | ||||
| epub3: | ||||
| 	$(SPHINXBUILD) -b epub3 $(ALLSPHINXOPTS) $(BUILDDIR)/epub3 | ||||
| 	@echo | ||||
| 	@echo "Build finished. The epub3 file is in $(BUILDDIR)/epub3." | ||||
|  | ||||
| .PHONY: latex | ||||
| latex: | ||||
| 	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex | ||||
| 	@echo | ||||
| 	@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." | ||||
| 	@echo "Run \`make' in that directory to run these through (pdf)latex" \ | ||||
| 	      "(use \`make latexpdf' here to do that automatically)." | ||||
|  | ||||
| .PHONY: latexpdf | ||||
| latexpdf: | ||||
| 	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex | ||||
| 	@echo "Running LaTeX files through pdflatex..." | ||||
| 	$(MAKE) -C $(BUILDDIR)/latex all-pdf | ||||
| 	@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." | ||||
|  | ||||
| .PHONY: latexpdfja | ||||
| latexpdfja: | ||||
| 	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex | ||||
| 	@echo "Running LaTeX files through platex and dvipdfmx..." | ||||
| 	$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja | ||||
| 	@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." | ||||
|  | ||||
| .PHONY: text | ||||
| text: | ||||
| 	$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text | ||||
| 	@echo | ||||
| 	@echo "Build finished. The text files are in $(BUILDDIR)/text." | ||||
|  | ||||
| .PHONY: man | ||||
| man: | ||||
| 	$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man | ||||
| 	@echo | ||||
| 	@echo "Build finished. The manual pages are in $(BUILDDIR)/man." | ||||
|  | ||||
| .PHONY: texinfo | ||||
| texinfo: | ||||
| 	$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo | ||||
| 	@echo | ||||
| 	@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." | ||||
| 	@echo "Run \`make' in that directory to run these through makeinfo" \ | ||||
| 	      "(use \`make info' here to do that automatically)." | ||||
|  | ||||
| .PHONY: info | ||||
| info: | ||||
| 	$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo | ||||
| 	@echo "Running Texinfo files through makeinfo..." | ||||
| 	make -C $(BUILDDIR)/texinfo info | ||||
| 	@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." | ||||
|  | ||||
| .PHONY: gettext | ||||
| gettext: | ||||
| 	$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale | ||||
| 	@echo | ||||
| 	@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." | ||||
|  | ||||
| .PHONY: changes | ||||
| changes: | ||||
| 	$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes | ||||
| 	@echo | ||||
| 	@echo "The overview file is in $(BUILDDIR)/changes." | ||||
|  | ||||
| .PHONY: linkcheck | ||||
| linkcheck: | ||||
| 	$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck | ||||
| 	@echo | ||||
| 	@echo "Link check complete; look for any errors in the above output " \ | ||||
| 	      "or in $(BUILDDIR)/linkcheck/output.txt." | ||||
|  | ||||
| .PHONY: doctest | ||||
| doctest: | ||||
| 	$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest | ||||
| 	@echo "Testing of doctests in the sources finished, look at the " \ | ||||
| 	      "results in $(BUILDDIR)/doctest/output.txt." | ||||
|  | ||||
| .PHONY: coverage | ||||
| coverage: | ||||
| 	$(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage | ||||
| 	@echo "Testing of coverage in the sources finished, look at the " \ | ||||
| 	      "results in $(BUILDDIR)/coverage/python.txt." | ||||
|  | ||||
| .PHONY: xml | ||||
| xml: | ||||
| 	$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml | ||||
| 	@echo | ||||
| 	@echo "Build finished. The XML files are in $(BUILDDIR)/xml." | ||||
|  | ||||
| .PHONY: pseudoxml | ||||
| pseudoxml: | ||||
| 	$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml | ||||
| 	@echo | ||||
| 	@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." | ||||
|  | ||||
| .PHONY: dummy | ||||
| dummy: | ||||
| 	$(SPHINXBUILD) -b dummy $(ALLSPHINXOPTS) $(BUILDDIR)/dummy | ||||
| 	@echo | ||||
| 	@echo "Build finished. Dummy builder generates no files." | ||||
|   | ||||
| @@ -5,34 +5,18 @@ backwards support for ACPI 1.0 and is only compatible to ACPI version 2.0 and | ||||
| upwards. | ||||
|  | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| SSDT UID generation <uid.md> | ||||
| ``` | ||||
| - [SSDT UID generation](uid.md) | ||||
|  | ||||
| ## GPIO | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| GPIO toggling in ACPI AML <gpio.md> | ||||
| ``` | ||||
| - [GPIO toggling in ACPI AML](gpio.md) | ||||
|  | ||||
| ## Windows-specific ACPI documentation | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| Windows-specific documentation <windows.md> | ||||
| ``` | ||||
| - [Windows-specific documentation](windows.md) | ||||
|  | ||||
| ##  ACPI specification - Useful links | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| ACPI Specification 6.5 <https://uefi.org/specs/ACPI/6.5/index.html> | ||||
| ASL 2.0 Syntax <https://uefi.org/specs/ACPI/6.5/19_ASL_Reference.html#asl-2-0-symbolic-operators-and-expressions> | ||||
| Predefined ACPI Names <https://uefi.org/specs/ACPI/6.5/05_ACPI_Software_Programming_Model.html#predefined-acpi-names> | ||||
| ``` | ||||
| - [ACPI Specification 6.5](https://uefi.org/specs/ACPI/6.5/index.html) | ||||
| - [ASL 2.0 Syntax](https://uefi.org/specs/ACPI/6.5/19_ASL_Reference.html#asl-2-0-symbolic-operators-and-expressions) | ||||
| - [Predefined ACPI Names](https://uefi.org/specs/ACPI/6.5/05_ACPI_Software_Programming_Model.html#predefined-acpi-names) | ||||
|   | ||||
| @@ -1141,8 +1141,4 @@ Spec](https://uefi.org/specifications) for details, or run the tool | ||||
|  | ||||
|  | ||||
| ## References: | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| AMD Glossary of terms <https://www.amd.com/system/files/documents/glossary-of-terms-20220505-for-web.pdf> | ||||
| ``` | ||||
| * [AMD Glossary of terms](https://www.amd.com/system/files/documents/glossary-of-terms-20220505-for-web.pdf) | ||||
|   | ||||
| @@ -5,15 +5,7 @@ architectures. | ||||
|  | ||||
| ## RISC-V | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| RISC-V documentation <riscv/index.md> | ||||
| ``` | ||||
| - [RISC-V documentation](riscv/index.md) | ||||
|  | ||||
| ## x86 | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| x86 documentation <x86/index.md> | ||||
| ``` | ||||
| - [x86 documentation](x86/index.md) | ||||
|   | ||||
| @@ -2,14 +2,12 @@ | ||||
|  | ||||
| This section contains documentation about coreboot on x86 architecture. | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| x86 PAE support <pae.md> | ||||
| ``` | ||||
| * [x86 PAE support](pae.md) | ||||
|  | ||||
| ## State of x86_64 support | ||||
| Some SOCs now support 64bit mode. Search for HAVE_X86_64_SUPPORT in Kconfig. | ||||
| At the moment there's only experimental x86_64 support. | ||||
| The `emulation/qemu-i440fx` and `emulation/qemu-q35` boards do support | ||||
| *ARCH_RAMSTAGE_X86_64* , *ARCH_POSTCAR_X86_64* and *ARCH_ROMSTAGE_X86_64*. | ||||
|  | ||||
| In order to add support for x86_64 the following assumptions were made: | ||||
| * The CPU supports long mode | ||||
| @@ -17,6 +15,7 @@ In order to add support for x86_64 the following assumptions were made: | ||||
| * All code that is to be run must be below 4GiB in physical memory | ||||
| * The high dword of pointers is always zero | ||||
| * The reference implementation is qemu | ||||
| * The CPU supports 1GiB hugepages | ||||
| * x86 payloads are loaded below 4GiB in physical memory and are jumped | ||||
|   to in *protected mode* | ||||
|  | ||||
| @@ -44,12 +43,8 @@ Basic support for x86_64 has been implemented for QEMU mainboard target. | ||||
|  | ||||
| ## Reference implementation | ||||
| The reference implementation is | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| QEMU i440fx <../../mainboard/emulation/qemu-i440fx.md> | ||||
| QEMU Q35 <../../mainboard/emulation/qemu-q35.md> | ||||
| ``` | ||||
| * [QEMU i440fx](../../mainboard/emulation/qemu-i440fx.md) | ||||
| * [QEMU Q35](../../mainboard/emulation/qemu-q35.md) | ||||
|  | ||||
| ## TODO | ||||
| * Identity map memory above 4GiB in ramstage | ||||
| @@ -59,6 +54,7 @@ QEMU Q35 <../../mainboard/emulation/qemu-q35.md> | ||||
| 1. Fine grained page tables for SMM: | ||||
|    * Must not have execute and write permissions for the same page. | ||||
|    * Must allow only that TSEG pages can be marked executable | ||||
|    * Must reside in SMRAM | ||||
| 2. Support 64bit PCI BARs above 4GiB | ||||
| 3. Place and run code above 4GiB | ||||
|  | ||||
| @@ -66,10 +62,13 @@ QEMU Q35 <../../mainboard/emulation/qemu-q35.md> | ||||
| * Fix compilation errors | ||||
| * Test how well CAR works with x86_64 and paging | ||||
| * Improve mode switches | ||||
| * Test libgfxinit / VGA Option ROMs / FSP | ||||
|  | ||||
| ## Known problems on real hardware | ||||
| ## Known bugs on real hardware | ||||
|  | ||||
| Running VGA rom directly fails. Yabel works fine though. | ||||
| According to Intel x86_64 mode hasn't been validated in CAR environments. | ||||
| Until now it could be verified on various Intel platforms and no issues have | ||||
| been found. | ||||
|  | ||||
| ## Known bugs on KVM enabled qemu | ||||
|  | ||||
|   | ||||
| @@ -1,10 +1,6 @@ | ||||
| # Community | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| Code of Conduct <code_of_conduct.md> | ||||
| Language style <language_style.md> | ||||
| Community forums <forums.md> | ||||
| coreboot at conferences <conferences.md> | ||||
| ``` | ||||
| * [Code of Conduct](code_of_conduct.md) | ||||
| * [Language style](language_style.md) | ||||
| * [Community forums](forums.md) | ||||
| * [coreboot at conferences](conferences.md) | ||||
|   | ||||
| @@ -1,34 +1,46 @@ | ||||
| # Configuration file for the Sphinx documentation builder. | ||||
| # | ||||
| # For the full list of built-in configuration values, see the documentation: | ||||
| # https://www.sphinx-doc.org/en/master/usage/configuration.html | ||||
|  | ||||
| # -- Project information ----------------------------------------------------- | ||||
| # https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information | ||||
|  | ||||
| # -*- coding: utf-8 -*- | ||||
| import subprocess | ||||
| from recommonmark.parser import CommonMarkParser | ||||
| import sphinx | ||||
|  | ||||
| project = 'coreboot' | ||||
| copyright = 'CC-by 4.0 the coreboot project' | ||||
| author = 'the coreboot project' | ||||
| # Get Sphinx version | ||||
| major = 0 | ||||
| minor = 0 | ||||
| patchlevel = 0 | ||||
| version = sphinx.__version__.split(".") | ||||
| if len(version) > 1: | ||||
| 	major = int(version[0]) | ||||
| 	minor = int(version[1]) | ||||
| 	if len(version) > 2: | ||||
| 		patchlevel = int(version[2]) | ||||
|  | ||||
| # Add any paths that contain templates here, relative to this directory. | ||||
| templates_path = ['_templates'] | ||||
|  | ||||
| # The suffix(es) of source filenames. | ||||
| source_suffix = ['.md'] | ||||
|  | ||||
| # The master toctree document. | ||||
| master_doc = 'index' | ||||
|  | ||||
| # General information about the project. | ||||
| project = u'coreboot' | ||||
| copyright = u'CC-by 4.0 the coreboot project' | ||||
| author = u'the coreboot project' | ||||
|  | ||||
| # The version info for the project you're documenting, acts as replacement for | ||||
| # |version| and |release|, also used in various other places throughout the | ||||
| # built documents. | ||||
| # | ||||
| # The full version, including alpha/beta/rc tags. | ||||
| release = subprocess.check_output(('git', 'describe')).decode("utf-8") | ||||
| # The short X.Y version. | ||||
| version = release.split("-")[0] | ||||
|  | ||||
|  | ||||
| # -- General configuration --------------------------------------------------- | ||||
| # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration | ||||
|  | ||||
| extensions = ["myst_parser"] | ||||
|  | ||||
| myst_heading_anchors = 5 | ||||
|  | ||||
| templates_path = ['_templates'] | ||||
| exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] | ||||
|  | ||||
| # The name of the Pygments (syntax highlighting) style to use. | ||||
| pygments_style = 'sphinx' | ||||
| extensions = [] | ||||
| # Load recommonmark, supported since 1.8+ | ||||
| if major >= 2 or (major == 1 and minor >= 8): | ||||
|     extensions += ['recommonmark'] | ||||
|  | ||||
| # Try to load DITAA | ||||
| try: | ||||
| @@ -45,11 +57,62 @@ else: | ||||
| # Usually you set "language" from the command line for these cases. | ||||
| language = 'en' | ||||
|  | ||||
| # -- Options for HTML output ------------------------------------------------- | ||||
| # https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output | ||||
| # List of patterns, relative to source directory, that match files and | ||||
| # directories to ignore when looking for source files. | ||||
| # This patterns also effect to html_static_path and html_extra_path | ||||
| exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] | ||||
|  | ||||
| # The name of the Pygments (syntax highlighting) style to use. | ||||
| pygments_style = 'sphinx' | ||||
|  | ||||
| # A list of ignored prefixes for module index sorting. | ||||
| # modindex_common_prefix = [] | ||||
|  | ||||
| # If true, keep warnings as "system message" paragraphs in the built documents. | ||||
| # keep_warnings = False | ||||
|  | ||||
| # If true, `todo` and `todoList` produce output, else they produce nothing. | ||||
| todo_include_todos = False | ||||
|  | ||||
|  | ||||
| # -- Options for HTML output ---------------------------------------------- | ||||
|  | ||||
| # The theme to use for HTML and HTML Help pages.  See the documentation for | ||||
| # a list of builtin themes. | ||||
| # | ||||
| html_theme = 'sphinx_rtd_theme' | ||||
|  | ||||
| # Add any paths that contain custom static files (such as style sheets) here, | ||||
| # relative to this directory. They are copied after the builtin static files, | ||||
| # so a file named "default.css" will overwrite the builtin "default.css". | ||||
| html_static_path = ['_static'] | ||||
|  | ||||
| html_css_files = [ | ||||
|     'theme_overrides.css',  # override wide tables in RTD theme | ||||
| ] | ||||
|  | ||||
| # Output file base name for HTML help builder. | ||||
| htmlhelp_basename = 'corebootdoc' | ||||
|  | ||||
| enable_auto_toc_tree = True | ||||
|  | ||||
| class MyCommonMarkParser(CommonMarkParser): | ||||
|     # remove this hack once upstream RecommonMark supports inline code | ||||
|     def visit_code(self, mdnode): | ||||
|         from docutils import nodes | ||||
|         n = nodes.literal(mdnode.literal, mdnode.literal) | ||||
|         self.current_node.append(n) | ||||
|  | ||||
| def setup(app): | ||||
|     from recommonmark.transform import AutoStructify | ||||
|     # Load recommonmark on old Sphinx | ||||
|     if major == 1 and minor < 8: | ||||
|         app.add_source_parser('.md', MyCommonMarkParser) | ||||
|  | ||||
|     app.add_config_value('recommonmark_config', { | ||||
|         'enable_auto_toc_tree': True, | ||||
|         'enable_auto_doc_ref': False, # broken in Sphinx 1.6+ | ||||
|         'enable_eval_rst': True, | ||||
|         'url_resolver': lambda url: '/' + url | ||||
|     }, True) | ||||
|     app.add_transform(AutoStructify) | ||||
|   | ||||
| @@ -395,8 +395,8 @@ Gerrit user roles | ||||
| There are a few relevant roles a user can have on Gerrit: | ||||
|  | ||||
| - The anonymous user can check out source code. | ||||
| - A registered user can also comment and give "+1" code reviews. | ||||
| - A reviewer can give "-1" and "+2" code reviews. | ||||
| - A registered user can also comment and give "+1" and "-1" code reviews. | ||||
| - A reviewer can also give "+2" code reviews. | ||||
| - A core developer can also give "-2" (that is, blocking) code reviews | ||||
|   and submit changes. | ||||
|  | ||||
|   | ||||
| @@ -1,11 +1,7 @@ | ||||
| # Contributing | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| Coding Style <coding_style.md> | ||||
| Gerrit Guidelines <gerrit_guidelines.md> | ||||
| Project Ideas <project_ideas.md> | ||||
| Documentation Ideas <documentation_ideas.md> | ||||
| Google Summer of Code <gsoc.md> | ||||
| ``` | ||||
| * [Coding Style](coding_style.md) | ||||
| * [Gerrit Guidelines](gerrit_guidelines.md) | ||||
| * [Project Ideas](project_ideas.md) | ||||
| * [Documentation Ideas](documentation_ideas.md) | ||||
| * [Google Summer of Code](gsoc.md) | ||||
|   | ||||
| @@ -29,7 +29,7 @@ sealings are sent via encrypted email. | ||||
|  | ||||
| ### NovaCustom laptops | ||||
|  | ||||
| [NovaCustom](https://novacustom.com) sells configurable laptops with | ||||
| [NovaCustom](https://configurelaptop.eu/) sells configurable laptops with | ||||
| [Dasharo](https://dasharo.com/) coreboot based firmware on board, maintained by | ||||
| [3mdeb](https://3mdeb.com/). NovaCustom offers full GNU/Linux and Microsoft | ||||
| Windows compatibility. NovaCustom ensures security updates via fwupd for 5 years | ||||
|   | ||||
| @@ -8,14 +8,10 @@ For details on how to connect device drivers to a mainboard, see [Driver Devicet | ||||
|  | ||||
| Some of the drivers currently available include: | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| Intel DPTF <dptf.md> | ||||
| IPMI KCS <ipmi_kcs.md> | ||||
| SMMSTORE <smmstore.md> | ||||
| SMMSTOREv2 <smmstorev2.md> | ||||
| SoundWire <soundwire.md> | ||||
| USB4 Retimer <retimer.md> | ||||
| CBFS SMBIOS hooks <cbfs_smbios.md> | ||||
| ``` | ||||
| * [Intel DPTF](dptf.md) | ||||
| * [IPMI KCS](ipmi_kcs.md) | ||||
| * [SMMSTORE](smmstore.md) | ||||
| * [SMMSTOREv2](smmstorev2.md) | ||||
| * [SoundWire](soundwire.md) | ||||
| * [USB4 Retimer](retimer.md) | ||||
| * [CBFS SMBIOS hooks](cbfs_smbios.md) | ||||
|   | ||||
| @@ -128,11 +128,7 @@ data or modify the currently running kernel.* | ||||
|  | ||||
| ## External links | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| A Tour Beyond BIOS Implementing UEFI Authenticated Variables in SMM with EDKI <https://software.intel.com/sites/default/files/managed/cf/ea/a_tour_beyond_bios_implementing_uefi_authenticated_variables_in_smm_with_edkii.pdf> | ||||
| ``` | ||||
| * [A Tour Beyond BIOS Implementing UEFI Authenticated Variables in SMM with EDKI](https://software.intel.com/sites/default/files/managed/cf/ea/a_tour_beyond_bios_implementing_uefi_authenticated_variables_in_smm_with_edkii.pdf) | ||||
| Note, this differs significantly from coreboot's implementation. | ||||
|  | ||||
| [SMM]: ../security/smm.md | ||||
|   | ||||
| @@ -124,9 +124,25 @@ additional calling arguments are passed via `%ebx`. | ||||
| **NOTE**: The size of the struct entries are in the native word size of | ||||
| smihandler. This means 32 bits in almost all cases. | ||||
|  | ||||
| #### - SMMSTORE_CMD_INIT_DEPRECATED = 4 | ||||
| #### - SMMSTORE_CMD_INIT = 4 | ||||
|  | ||||
| Unused, returns SMMSTORE_REG_UNSUPPORTED. | ||||
| This installs the communication buffer to use and thus enables the | ||||
| SMMSTORE handler. This command can only be executed once and is done | ||||
| by the firmware. Calling this function at runtime has no effect. | ||||
|  | ||||
| The additional parameter buffer `%ebx` contains a pointer to the | ||||
| following struct: | ||||
|  | ||||
| ```C | ||||
| struct smmstore_params_init { | ||||
| 	uint32_t com_buffer; | ||||
| 	uint32_t com_buffer_size; | ||||
| } __packed; | ||||
| ``` | ||||
|  | ||||
| INPUT: | ||||
| - `com_buffer`: Physical address of the communication buffer (CBMEM) | ||||
| - `com_buffer_size`: Size in bytes of the communication buffer | ||||
|  | ||||
| #### - SMMSTORE_CMD_RAW_READ = 5 | ||||
|  | ||||
| @@ -199,11 +215,7 @@ running kernel. | ||||
|  | ||||
| ## External links | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| A Tour Beyond BIOS Implementing UEFI Authenticated Variables in SMM with EDKI <https://software.intel.com/sites/default/files/managed/cf/ea/a_tour_beyond_bios_implementing_uefi_authenticated_variables_in_smm_with_edkii.pdf> | ||||
| ``` | ||||
| * [A Tour Beyond BIOS Implementing UEFI Authenticated Variables in SMM with EDKI](https://software.intel.com/sites/default/files/managed/cf/ea/a_tour_beyond_bios_implementing_uefi_authenticated_variables_in_smm_with_edkii.pdf) | ||||
| Note that this differs significantly from coreboot's implementation. | ||||
|  | ||||
| [SMM]: ../security/smm.md | ||||
|   | ||||
| @@ -17,21 +17,13 @@ Please add any helpful or informational links and sections as you see fit. | ||||
|   * [Part 1: PCI-based systems](https://resources.infosecinstitute.com/topic/system-address-map-initialization-in-x86x64-architecture-part-1-pci-based-systems/) | ||||
|   * [Part 2: PCI express-based systems](https://resources.infosecinstitute.com/topic/system-address-map-initialization-x86x64-architecture-part-2-pci-express-based-systems/) | ||||
|   * [PCIe elastic buffer](https://www.mindshare.com/files/resources/mindshare_pcie_elastic_buffer.pdf) | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| Boot Guard and PSB have user-hostile defaults <https://mjg59.dreamwidth.org/58424.html> | ||||
| ``` | ||||
| * [Boot Guard and PSB have user-hostile defaults](https://mjg59.dreamwidth.org/58424.html) | ||||
|  | ||||
|  | ||||
| ## General Information | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| OS Dev <https://wiki.osdev.org/Categorized_Main_Page> | ||||
| Interface BUS <http://www.interfacebus.com/> | ||||
| ``` | ||||
| * [OS Dev](https://wiki.osdev.org/Categorized_Main_Page) | ||||
| * [Interface BUS](http://www.interfacebus.com/) | ||||
|  | ||||
| ## OpenSecurityTraining2 | ||||
|  | ||||
| @@ -51,14 +43,10 @@ modified works back to the community. | ||||
| Below is a list of currently available courses that can help understand the | ||||
| inner workings of coreboot and other firmware-related topics: | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| coreboot design principles and boot process <https://ost2.fyi/Arch4031> | ||||
| x86-64 Assembly <https://ost2.fyi/Arch1001> | ||||
| x86-64 OS Internals <https://ost2.fyi/Arch2001> | ||||
| x86-64 Intel Firmware Attack & Defense <https://ost2.fyi/Arch4001> | ||||
| ``` | ||||
| * [coreboot design principles and boot process](https://ost2.fyi/Arch4031) | ||||
| * [x86-64 Assembly](https://ost2.fyi/Arch1001) | ||||
| * [x86-64 OS Internals](https://ost2.fyi/Arch2001) | ||||
| * [x86-64 Intel Firmware Attack & Defense](https://ost2.fyi/Arch4001) | ||||
|  | ||||
| There are [additional security courses](https://p.ost2.fyi/courses) at the site | ||||
| as well (such as | ||||
| @@ -66,79 +54,47 @@ as well (such as | ||||
|  | ||||
| ## Firmware Specifications & Information | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| System Management BIOS - SMBIOS <https://www.dmtf.org/standards/smbios> | ||||
| Desktop and Mobile Architecture for System Hardware - DASH <https://www.dmtf.org/standards/dash> | ||||
| PNP BIOS <https://www.intel.com/content/dam/support/us/en/documents/motherboards/desktop/sb/pnpbiosspecificationv10a.pdf> | ||||
| ``` | ||||
| * [System Management BIOS - SMBIOS](https://www.dmtf.org/standards/smbios) | ||||
| * [Desktop and Mobile Architecture for System Hardware - DASH](https://www.dmtf.org/standards/dash) | ||||
| * [PNP BIOS](https://www.intel.com/content/dam/support/us/en/documents/motherboards/desktop/sb/pnpbiosspecificationv10a.pdf) | ||||
|  | ||||
|  | ||||
| ### ACPI | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| ACPI Specs <https://uefi.org/acpi/specs> | ||||
| ACPI in Linux <https://www.kernel.org/doc/ols/2005/ols2005v1-pages-59-76.pdf> | ||||
| ACPI 5 Linux <https://blog.linuxplumbersconf.org/2012/wp-content/uploads/2012/09/LPC2012-ACPI5.pdf> | ||||
| ACPI 6 Linux <https://events.static.linuxfound.org/sites/events/files/slides/ACPI_6_and_Linux_0.pdf> | ||||
| ``` | ||||
| * [ACPI Specs](https://uefi.org/acpi/specs) | ||||
| * [ACPI in Linux](https://www.kernel.org/doc/ols/2005/ols2005v1-pages-59-76.pdf) | ||||
| * [ACPI 5 Linux](https://blog.linuxplumbersconf.org/2012/wp-content/uploads/2012/09/LPC2012-ACPI5.pdf) | ||||
| * [ACPI 6 Linux](https://events.static.linuxfound.org/sites/events/files/slides/ACPI_6_and_Linux_0.pdf) | ||||
|  | ||||
|  | ||||
| ### Security | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| Intel Boot Guard <https://edk2-docs.gitbook.io/understanding-the-uefi-secure-boot-chain/secure_boot_chain_in_uefi/intel_boot_guard> | ||||
| ``` | ||||
| * [Intel Boot Guard](https://edk2-docs.gitbook.io/understanding-the-uefi-secure-boot-chain/secure_boot_chain_in_uefi/intel_boot_guard) | ||||
|  | ||||
|  | ||||
| ## Hardware information | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| WikiChip <https://en.wikichip.org/wiki/WikiChip> | ||||
| Sandpile <https://www.sandpile.org/> | ||||
| CPU-World <https://www.cpu-world.com/index.html> | ||||
| CPU-Upgrade <https://www.cpu-upgrade.com/index.html> | ||||
| ``` | ||||
| * [WikiChip](https://en.wikichip.org/wiki/WikiChip) | ||||
| * [Sandpile](https://www.sandpile.org/) | ||||
| * [CPU-World](https://www.cpu-world.com/index.html) | ||||
| * [CPU-Upgrade](https://www.cpu-upgrade.com/index.html) | ||||
|  | ||||
|  | ||||
| ### Hardware Specifications & Standards | ||||
|  | ||||
| * [Bluetooth](https://www.bluetooth.com/specifications/specs/) - Bluetooth SIG | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| eMMC <https://www.jedec.org/)  - JEDEC - (LOGIN REQUIRED> | ||||
| ``` | ||||
| * [eMMC](https://www.jedec.org/)  - JEDEC - (LOGIN REQUIRED) | ||||
| * [eSPI](https://cdrdv2.intel.com/v1/dl/getContent/645987) - Intel | ||||
| * [I2c Spec](https://web.archive.org/web/20170704151406/https://www.nxp.com/docs/en/user-guide/UM10204.pdf), | ||||
|   [Appnote](https://www.nxp.com/docs/en/application-note/AN10216.pdf) - NXP | ||||
| * [I2S](https://www.nxp.com/docs/en/user-manual/UM11732.pdf) - NXP | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| I3C <https://www.mipi.org/specifications/i3c-sensor-specification) - MIPI Alliance (LOGIN REQUIRED> | ||||
| Memory <https://www.jedec.org/)  - JEDEC - (LOGIN REQUIRED> | ||||
| ``` | ||||
| * [I3C](https://www.mipi.org/specifications/i3c-sensor-specification) - MIPI Alliance (LOGIN REQUIRED) | ||||
| * [Memory](https://www.jedec.org/)  - JEDEC - (LOGIN REQUIRED) | ||||
| * [NVMe](https://nvmexpress.org/developers/) - NVMe Specifications | ||||
| * [LPC](https://www.intel.com/content/dam/www/program/design/us/en/documents/low-pin-count-interface-specification.pdf) - Intel | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| PCI / PCIe / M.2 <https://pcisig.com/specifications) -  PCI-SIG - (LOGIN REQUIRED> | ||||
| ``` | ||||
| * [PCI / PCIe / M.2](https://pcisig.com/specifications) -  PCI-SIG - (LOGIN REQUIRED) | ||||
| * [Power Delivery](https://www.usb.org/documents) - USB Implementers Forum | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| SATA <https://sata-io.org/developers/purchase-specification) - SATA-IO (LOGIN REQUIRED> | ||||
| ``` | ||||
| * [SATA](https://sata-io.org/developers/purchase-specification) - SATA-IO (LOGIN REQUIRED) | ||||
| * [SMBus](http://www.smbus.org/specs/) - System Management Interface Forum | ||||
| * [Smart Battery](http://smartbattery.org/specs/) - Smart Battery System Implementers Forum | ||||
| * [USB](https://www.usb.org/documents) - USB Implementers Forum | ||||
| @@ -177,9 +133,5 @@ SATA <https://sata-io.org/developers/purchase-specification) - SATA-IO (LOGIN RE | ||||
|  | ||||
| ## Infrastructure software | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| Kconfig <https://www.kernel.org/doc/html/latest/kbuild/kconfig-language.html> | ||||
| GNU Make <https://www.gnu.org/software/make/manual/> | ||||
| ``` | ||||
| * [Kconfig](https://www.kernel.org/doc/html/latest/kbuild/kconfig-language.html) | ||||
| * [GNU Make](https://www.gnu.org/software/make/manual/) | ||||
|   | ||||
| @@ -75,7 +75,7 @@ $(call add_intermediate, add_mrc_data) | ||||
|  | ||||
| Note that the second line must start with a tab, not spaces. | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| See also :doc:`../tutorial/managing_local_additions`. | ||||
| ``` | ||||
|  | ||||
|   | ||||
| @@ -84,8 +84,8 @@ the operating system. | ||||
|  | ||||
| * U-boot, depthcharge, FILO, etc. | ||||
|  | ||||
| There’s [https://doc.coreboot.org/payloads.html](https://doc.coreboot.org/payloads.html) | ||||
| with a list, although it’s not complete. | ||||
| There’s [https://doc.coreboot.org/payloads.html](https://doc.coreboot.org/payloads. | ||||
| html) with a list, although it’s not complete. | ||||
|  | ||||
|  | ||||
| ### What does coreboot leave in memory after it's done initializing the hardware? | ||||
|   | ||||
| @@ -167,7 +167,7 @@ could cause catastrophic failures, up to and including your mainboard! | ||||
| As per Intel Platform Controller Hub (PCH) EDS since Skylake, a GPIO PAD register | ||||
| supports four different types of GPIO reset as: | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------------+----------------+-------------+-------------+ | ||||
| |                        |                |         PAD Reset ?       | | ||||
| + PAD Reset Config       + Platform Reset +-------------+-------------+ | ||||
|   | ||||
| @@ -1,14 +1,10 @@ | ||||
| # Getting Started | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| coreboot architecture <architecture.md> | ||||
| Build System <build_system.md> | ||||
| Submodules <submodules.md> | ||||
| Kconfig <kconfig.md> | ||||
| Writing Documentation <writing_documentation.md> | ||||
| Setting up GPIOs <gpio.md> | ||||
| Adding devices to a device tree <devicetree.md> | ||||
| Frequently Asked Questions <faq.md> | ||||
| ``` | ||||
| * [coreboot architecture](architecture.md) | ||||
| * [Build System](build_system.md) | ||||
| * [Submodules](submodules.md) | ||||
| * [Kconfig](kconfig.md) | ||||
| * [Writing Documentation](writing_documentation.md) | ||||
| * [Setting up GPIOs](gpio.md) | ||||
| * [Adding devices to a device tree](devicetree.md) | ||||
| * [Frequently Asked Questions](faq.md) | ||||
|   | ||||
| @@ -11,12 +11,8 @@ configuration front end in coreboot today. | ||||
|  | ||||
| The official Kconfig source and documentation is kept at kernel.org: | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| Kconfig source <https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/scripts/kconfig> | ||||
| Kconfig Language Documentation <https://www.kernel.org/doc/Documentation/kbuild/kconfig-language.txt> | ||||
| ``` | ||||
| - [Kconfig source](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/scripts/kconfig) | ||||
| - [Kconfig Language Documentation](https://www.kernel.org/doc/Documentation/kbuild/kconfig-language.txt) | ||||
|  | ||||
| The advantage to using Kconfig is that it allows users to easily select the | ||||
| high level features of the project to be enabled or disabled at build time. | ||||
| @@ -200,9 +196,9 @@ values to be set based on other values. | ||||
|   visible in the front end. | ||||
|  | ||||
|  | ||||
| ### Keywords | ||||
| ## Keywords | ||||
|  | ||||
| #### bool | ||||
| ### bool | ||||
|  | ||||
| The 'bool' keyword assigns a boolean type to a symbol. The allowable values for | ||||
| a boolean type are 'n' or 'y'. The keyword can be followed by an optional prompt | ||||
| @@ -238,7 +234,7 @@ bool \[prompt\] \[if <expr>\] | ||||
|  | ||||
| -------------------------------------------------------------------------------- | ||||
|  | ||||
| #### choice | ||||
| ### choice | ||||
|  | ||||
| This creates a selection list of one or more boolean symbols. For bools, only | ||||
| one of the symbols can be selected, and one will be be forced to be selected, | ||||
| @@ -301,7 +297,7 @@ choice \[symbol\] | ||||
|  | ||||
| -------------------------------------------------------------------------------- | ||||
|  | ||||
| #### comment | ||||
| ### comment | ||||
|  | ||||
| This keyword defines a line of text that is displayed to the user in the | ||||
| configuration frontend and is additionally written to the output files. | ||||
| @@ -326,7 +322,7 @@ comment <prompt> | ||||
|  | ||||
| -------------------------------------------------------------------------------- | ||||
|  | ||||
| #### config | ||||
| ### config | ||||
|  | ||||
| This is the keyword that starts a block defining a Kconfig symbol. The symbol | ||||
| modifiers follow the 'config' statement. | ||||
| @@ -363,7 +359,7 @@ config <symbol> | ||||
|  | ||||
| -------------------------------------------------------------------------------- | ||||
|  | ||||
| #### default | ||||
| ### default | ||||
|  | ||||
| The ‘default’ keyword assigns a value to a symbol in the case where no preset | ||||
| value exists, i.e. the symbol is not present and assigned in .config.  If there | ||||
| @@ -403,7 +399,7 @@ default <expr> \[if <expr>\] | ||||
|  | ||||
| -------------------------------------------------------------------------------- | ||||
|  | ||||
| #### def_bool | ||||
| ### def_bool | ||||
|  | ||||
| ‘def_bool’ is similar to the 'bool' keyword in that it sets a symbol’s type to | ||||
| boolean. It lets you set the type and default value at the same time, instead | ||||
| @@ -437,7 +433,7 @@ def_bool <expr> \[if <expr>\] | ||||
|  | ||||
| -------------------------------------------------------------------------------- | ||||
|  | ||||
| #### depends on | ||||
| ### depends on | ||||
|  | ||||
| This defines a dependency for a menu entry, including symbols and comments.  It | ||||
| behaves the same as surrounding the menu entry with an if/endif block.  If the | ||||
| @@ -466,28 +462,28 @@ depends on <expr> | ||||
|  | ||||
| -------------------------------------------------------------------------------- | ||||
|  | ||||
| #### endchoice | ||||
| ### endchoice | ||||
|  | ||||
| This ends a choice block. See the 'choice' keyword for more information and an | ||||
| example. | ||||
|  | ||||
| -------------------------------------------------------------------------------- | ||||
|  | ||||
| #### endif | ||||
| ### endif | ||||
|  | ||||
| This ends a block started by the 'if' keyword. See the 'if' keyword for more | ||||
| information and an example. | ||||
|  | ||||
| -------------------------------------------------------------------------------- | ||||
|  | ||||
| #### endmenu | ||||
| ### endmenu | ||||
|  | ||||
| This ends a menu block. See the 'menu' keyword for more information and an | ||||
| example. | ||||
|  | ||||
| -------------------------------------------------------------------------------- | ||||
|  | ||||
| #### help | ||||
| ### help | ||||
|  | ||||
| The 'help' keyword defines the subsequent block of text as help for a config or | ||||
| choice block. The help block is started by the 'help' keyword on a line by | ||||
| @@ -519,7 +515,7 @@ help <help text> | ||||
|  | ||||
| -------------------------------------------------------------------------------- | ||||
|  | ||||
| #### hex | ||||
| ### hex | ||||
|  | ||||
| This is another symbol type specifier, specifying an unsigned integer value | ||||
| formatted as hexadecimal. | ||||
| @@ -555,7 +551,7 @@ hex <expr> \[if <expr>\] | ||||
|  | ||||
| -------------------------------------------------------------------------------- | ||||
|  | ||||
| #### if | ||||
| ### if | ||||
|  | ||||
| The 'if' keyword is overloaded, used in two different ways. The first definition | ||||
| enables and disables various other keywords, and follows the other keyword | ||||
| @@ -596,7 +592,7 @@ endif | ||||
|  | ||||
| -------------------------------------------------------------------------------- | ||||
|  | ||||
| #### int | ||||
| ### int | ||||
|  | ||||
| A type setting keyword, defines a symbol as an integer, accepting only signed | ||||
| numeric values.  The values can be further restricted with the ‘range’ keyword. | ||||
| @@ -632,7 +628,7 @@ int <expr> \[if <expr>\] | ||||
|  | ||||
| -------------------------------------------------------------------------------- | ||||
|  | ||||
| #### mainmenu | ||||
| ### mainmenu | ||||
|  | ||||
| The 'mainmenu' keyword sets the title or title bar of the configuration front | ||||
|   end, depending on how the configuration program decides to use it. It can only | ||||
| @@ -652,7 +648,7 @@ mainmenu "coreboot configuration" | ||||
|  | ||||
| -------------------------------------------------------------------------------- | ||||
|  | ||||
| #### menu | ||||
| ### menu | ||||
|  | ||||
| The 'menu' and 'endmenu' keywords tell the configuration front end that the | ||||
| enclosed statements are part of a group of related pieces. | ||||
| @@ -699,7 +695,7 @@ endmenu | ||||
|  | ||||
| -------------------------------------------------------------------------------- | ||||
|  | ||||
| #### prompt | ||||
| ### prompt | ||||
|  | ||||
| The 'prompt' keyword sets the text displayed for a config symbol or choice in | ||||
| configuration front end. | ||||
| @@ -752,7 +748,7 @@ prompt <prompt> \[if <expr>\] | ||||
|             prompt "Prompt value 2" | ||||
| -------------------------------------------------------------------------------- | ||||
|  | ||||
| #### range | ||||
| ### range | ||||
|  | ||||
| This sets the allowable minimum and maximum entries for hex or int type config | ||||
| symbols. | ||||
| @@ -774,7 +770,7 @@ range <symbol> <symbol> \[if <expr>\] | ||||
|  | ||||
| -------------------------------------------------------------------------------- | ||||
|  | ||||
| #### select | ||||
| ### select | ||||
|  | ||||
| The ‘select’ keyword is used within a bool type config block.  In coreboot (and | ||||
| other projects that don't use modules), the 'select' keyword can force an | ||||
| @@ -818,7 +814,7 @@ select <symbol> \[if <expr>\] | ||||
|  | ||||
| -------------------------------------------------------------------------------- | ||||
|  | ||||
| #### source | ||||
| ### source | ||||
|  | ||||
| The 'source' keyword functions much the same as an 'include' statement in c. | ||||
| This pulls one or more files into Kconfig at the location of the 'source' | ||||
| @@ -877,7 +873,7 @@ statements that generate a list of all the platform names: | ||||
|  | ||||
| -------------------------------------------------------------------------------- | ||||
|  | ||||
| #### string | ||||
| ### string | ||||
|  | ||||
| The last of the symbol type assignment keywords. 'string' allows a text value to | ||||
| be entered. | ||||
| @@ -923,7 +919,7 @@ keyword later. See the prompt keyword for more notes. | ||||
|  | ||||
|  | ||||
|  | ||||
| ### Keywords not used in coreboot at the time of writing: | ||||
| ## Keywords not used in coreboot at the time of writing: | ||||
|  | ||||
| - allnoconfig_y: | ||||
| - defconfig_list | ||||
| @@ -948,7 +944,7 @@ statements: | ||||
|     #define SYMBOL NAME XXX | ||||
|  | ||||
|  | ||||
| #### Symbol types: | ||||
| ##### Symbol types: | ||||
| - bool, int, and hex types -  Every symbol of one of these types created in the | ||||
|   Kconfig tree is defined.  It doesn’t matter whether they’re in an if/endif | ||||
|   block, or have a ‘depends on’ statement - they ALL end up being defined in | ||||
| @@ -1168,19 +1164,19 @@ saved .config file. As always, a 'select' statement overrides any specified | ||||
|  | ||||
| ## Kconfig Editor Highlighting | ||||
|  | ||||
| ### vim: | ||||
| #### vim: | ||||
|  | ||||
| vim has syntax highlighting for Kconfig built in (or at least as a part of | ||||
| vim-common), but most editors do not. | ||||
|  | ||||
|  | ||||
| ### ultraedit: | ||||
| #### ultraedit: | ||||
|  | ||||
| https://github.com/martinlroth/wordfiles/blob/master/kconfig.uew | ||||
|  | ||||
|  | ||||
|  | ||||
| ### atom: | ||||
| #### atom: | ||||
|  | ||||
| https://github.com/martinlroth/language-kconfig | ||||
|  | ||||
|   | ||||
| @@ -99,7 +99,7 @@ To reference documents use the TOC tree or inline RST code. | ||||
| Under Sphinx markdown tables are not supported. Therefore you can use following | ||||
| code block to write tables in reStructuredText and embed them into the markdown: | ||||
|  | ||||
|     ```{eval-rst} | ||||
|     ```eval_rst | ||||
|     +------------+------------+-----------+ | ||||
|     | Header 1   | Header 2   | Header 3  | | ||||
|     +============+============+===========+ | ||||
| @@ -144,7 +144,7 @@ you'll see the following warning: | ||||
| You can import CSV files and let sphinx automatically convert them to human | ||||
| readable tables, using the following reStructuredText snipped: | ||||
|  | ||||
|     ```{eval-rst} | ||||
|     ```eval_rst | ||||
|     .. csv-table:: | ||||
|        :header: "Key", "Value" | ||||
|        :file: keyvalues.csv | ||||
|   | ||||
| @@ -22,7 +22,7 @@ the power sequence timing parameters, which are usually named T[N] and also | ||||
| referenced in Intel's respective registers listing. You need the values for | ||||
| `PP_ON_DELAYS`, `PP_OFF_DELAYS` and `PP_DIVISOR` for your `devicetree.cb`: | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +-----------------------------+---------------------------------------+-----+ | ||||
| | Intel docs                  | devicetree.cb                         | eDP | | ||||
| +-----------------------------+---------------------------------------+-----+ | ||||
|   | ||||
| @@ -139,45 +139,6 @@ Every now and then, coreboot is present in one way or another at | ||||
| [conferences](community/conferences.md). If you're around, come and | ||||
| say hello! | ||||
|  | ||||
| ## Blob policy in the coreboot project | ||||
|  | ||||
| The goal of the coreboot project is to provide a FOSS firmware solution across | ||||
| multiple CPU architectures, such as ARM, x86, and RISC-V. While fully open | ||||
| source implementations for these architectures are encouraged and preferred, | ||||
| we understand that a fully open implementation whereby every firmware component | ||||
| is available as source code for modern platforms is not always feasible. | ||||
| Different reasons inhibit the availability of fully open implementations, | ||||
| including limited development resources, 3rd party license constraints of | ||||
| IP blocks, or a legacy mindset of the silicon vendors. | ||||
|  | ||||
| It is important for the coreboot project to have support for modern CPU | ||||
| platforms in order to provide a viable alternative for proprietary firmware | ||||
| implementations. We do not have direct control over how hardware vendors design | ||||
| their products, however we can provide an attractive alternative to the | ||||
| expensive and complicated proprietary firmware model that exists today. | ||||
| For modern platforms, we are largely dependent on the silicon | ||||
| vendor to provide additional information on how to properly initialize the | ||||
| hardware, as the required datasheets are often only available with an NDA. | ||||
| Therefore, one possible way to have coreboot support for the latest platforms | ||||
| is binary code (aka, a blob) provided by the silicon vendor. While we do | ||||
| discourage this solution, it can be a door opener for coreboot’s support of a | ||||
| given platform and thus keep coreboot functional on modern platforms. It is | ||||
| clearly not the goal of the project to accept every blob a silicon vendor wishes | ||||
| to use without question. On the contrary, each new blob needs to be examined | ||||
| critically by the community, evaluating the need, risk, and alternative options. | ||||
|  | ||||
| Wherever possible, introducing new blobs should be avoided. That said, there | ||||
| can be situations where a piece of code provided as a blob will enable the rest | ||||
| of the fully open source firmware stack on a brand new platform. If blocking | ||||
| this blob would lead to no support at all for the platform in question in | ||||
| coreboot, this situation needs to be examined carefully. While these kinds | ||||
| of discussion will be coordinated closely with the community (e.g. on the | ||||
| mailing list or dedicated meetings), ultimately it is up to the leadership to | ||||
| decide if there is no agreement between the community and the vendor pushing for | ||||
| the new blob. This decision will be communicated on the mailing list. | ||||
| Please see additionally | ||||
| [coreboot binary policy](https://github.com/coreboot/blobs/blob/master/README.md). | ||||
|  | ||||
| ## Getting the source code | ||||
|  | ||||
| coreboot is primarily developed in the | ||||
| @@ -209,38 +170,34 @@ for example OpenBSD, is probably the closest cousin of our approach. | ||||
|  | ||||
| Contents: | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| Getting Started <getting_started/index.md> | ||||
| Tutorial <tutorial/index.md> | ||||
| Contributing <contributing/index.md> | ||||
| Community <community/index.md> | ||||
| Payloads <payloads.md> | ||||
| Distributions <distributions.md> | ||||
| Technotes <technotes/index.md> | ||||
| ACPI <acpi/index.md> | ||||
| Native Graphics Initialization with libgfxinit <gfx/libgfxinit.md> | ||||
| Display panel <gfx/display-panel.md> | ||||
| CPU Architecture <arch/index.md> | ||||
| Platform independent drivers <drivers/index.md> | ||||
| Northbridge <northbridge/index.md> | ||||
| System on Chip <soc/index.md> | ||||
| Mainboard <mainboard/index.md> | ||||
| Payloads <lib/payloads/index.md> | ||||
| Libraries <lib/index.md> | ||||
| Options <lib/option.md> | ||||
| Security <security/index.md> | ||||
| SuperIO <superio/index.md> | ||||
| Vendorcode <vendorcode/index.md> | ||||
| Utilities <util.md> | ||||
| Software Bill of Materials <sbom/sbom.md> | ||||
| Project infrastructure & services <infrastructure/index.md> | ||||
| Boards supported in each release directory <releases/boards_supported_on_branches.md> | ||||
| Release notes <releases/index.md> | ||||
| Acronyms & Definitions <acronyms.md> | ||||
| External Resources <external_docs.md> | ||||
| Documentation License <documentation_license.md> | ||||
| ``` | ||||
| * [Getting Started](getting_started/index.md) | ||||
| * [Tutorial](tutorial/index.md) | ||||
| * [Contributing](contributing/index.md) | ||||
| * [Community](community/index.md) | ||||
| * [Payloads](payloads.md) | ||||
| * [Distributions](distributions.md) | ||||
| * [Technotes](technotes/index.md) | ||||
| * [ACPI](acpi/index.md) | ||||
| * [Native Graphics Initialization with libgfxinit](gfx/libgfxinit.md) | ||||
| * [Display panel](gfx/display-panel.md) | ||||
| * [CPU Architecture](arch/index.md) | ||||
| * [Platform independent drivers](drivers/index.md) | ||||
| * [Northbridge](northbridge/index.md) | ||||
| * [System on Chip](soc/index.md) | ||||
| * [Mainboard](mainboard/index.md) | ||||
| * [Payloads](lib/payloads/index.md) | ||||
| * [Libraries](lib/index.md) | ||||
| * [Options](lib/option.md) | ||||
| * [Security](security/index.md) | ||||
| * [SuperIO](superio/index.md) | ||||
| * [Vendorcode](vendorcode/index.md) | ||||
| * [Utilities](util.md) | ||||
| * [Software Bill of Materials](sbom/sbom.md) | ||||
| * [Project infrastructure & services](infrastructure/index.md) | ||||
| * [Boards supported in each release directory](releases/boards_supported_on_branches.md) | ||||
| * [Release notes](releases/index.md) | ||||
| * [Acronyms & Definitions](acronyms.md) | ||||
| * [External Resources](external_docs.md) | ||||
| * [Documentation License](documentation_license.md) | ||||
|  | ||||
| [Documentation]: https://review.coreboot.org/plugins/gitiles/coreboot/+/refs/heads/main/Documentation/ | ||||
|   | ||||
| @@ -93,19 +93,11 @@ You can see all the builds in the main jenkins interface: | ||||
| Most of the time on the builders is taken up by the coreboot main and | ||||
| coreboot gerrit builds. | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| coreboot gerrit build <https://qa.coreboot.org/job/coreboot-gerrit/> | ||||
| ``` | ||||
| * [coreboot gerrit build](https://qa.coreboot.org/job/coreboot-gerrit/) | ||||
| ([Time trend](https://qa.coreboot.org/job/coreboot-gerrit/buildTimeTrend)) | ||||
|  | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| coreboot main build <https://qa.coreboot.org/job/coreboot/> | ||||
| ``` | ||||
| * [coreboot main build](https://qa.coreboot.org/job/coreboot/) | ||||
|  ([Time trend](https://qa.coreboot.org/job/coreboot/buildTimeTrend)) | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -4,17 +4,9 @@ This section contains documentation about our infrastructure | ||||
|  | ||||
| ## Services | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| Project services <services.md> | ||||
| Administrator's handbook <admin.md> | ||||
| ``` | ||||
| * [Project services](services.md) | ||||
| * [Administrator's handbook](admin.md) | ||||
|  | ||||
| ## Jenkins builders and builds | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| Setting up Jenkins build machines <builders.md> | ||||
| Coverity Scan integration <coverity.md> | ||||
| ``` | ||||
| * [Setting up Jenkins build machines](builders.md) | ||||
| * [Coverity Scan integration](coverity.md) | ||||
|   | ||||
| @@ -3,11 +3,7 @@ | ||||
| This section contains documentation about coreboot internal technical | ||||
| information and libraries. | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| Flashmap and Flashmap Descriptor <flashmap.md> | ||||
| ABI data consumption <abi-data-consumption.md> | ||||
| Timestamps <timestamp.md> | ||||
| Firmware Configuration Interface <fw_config.md> | ||||
| ``` | ||||
| - [Flashmap and Flashmap Descriptor](flashmap.md) | ||||
| - [ABI data consumption](abi-data-consumption.md) | ||||
| - [Timestamps](timestamp.md) | ||||
| - [Firmware Configuration Interface](fw_config.md) | ||||
|   | ||||
| @@ -8,8 +8,4 @@ selected mainboard. | ||||
|  | ||||
| ## FIT | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| uImage.FIT support <fit.md> | ||||
| ``` | ||||
| - [uImage.FIT support](fit.md) | ||||
|   | ||||
| @@ -5,7 +5,7 @@ Acer models Aspire M3800, Aspire M5800 and possibly more. | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+--------------------------------------------------+ | ||||
| | Northbridge      | Intel G43 (called x4x in coreboot code)          | | ||||
| +------------------+--------------------------------------------------+ | ||||
| @@ -69,7 +69,7 @@ Tests were done with SeaBIOS 1.14.0 and slackware64-live from 2019-07-12 | ||||
|  | ||||
| ## Flashing coreboot | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +-------------------+---------------------+ | ||||
| | Type              | Value               | | ||||
| +===================+=====================+ | ||||
| @@ -122,7 +122,7 @@ $ sudo flashrom \ | ||||
|   -w coreboot.rom | ||||
| ``` | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| In addition to the information here, please see the | ||||
| :doc:`../../tutorial/flashing_firmware/index`. | ||||
| ``` | ||||
|   | ||||
| @@ -33,7 +33,7 @@ Three items are marked in this picture | ||||
|  | ||||
| ## Flashing coreboot | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +---------------------+--------------------+ | ||||
| | Type                | Value              | | ||||
| +=====================+====================+ | ||||
| @@ -53,7 +53,7 @@ Three items are marked in this picture | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +---------------+------------------------------+ | ||||
| | Fan control   | Using fintek F81803A         | | ||||
| +---------------+------------------------------+ | ||||
| @@ -63,7 +63,7 @@ Three items are marked in this picture | ||||
|  | ||||
| ## Description of pictures within this document | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +----------------------------+----------------------------------------+ | ||||
| |pademelon.jpg               | Motherboard with components identified | | ||||
| +----------------------------+----------------------------------------+ | ||||
|   | ||||
| @@ -11,7 +11,7 @@ Intel company provides [Firmware Support Package (2.0)](../../soc/intel/fsp/inde | ||||
|  | ||||
| FSP Information: | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +-----------------------------+-------------------+-------------------+ | ||||
| | FSP Project Name            | Directory         | Specification     | | ||||
| +-----------------------------+-------------------+-------------------+ | ||||
| @@ -114,7 +114,7 @@ facing towards the bottom of the board. | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+--------------------------------------------------+ | ||||
| | CPU              | Intel Skylake/Kaby Lake (LGA1151)                | | ||||
| +------------------+--------------------------------------------------+ | ||||
|   | ||||
| @@ -5,7 +5,7 @@ Bridge and Ivy Bridge CPUs. | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+--------------------------------------------------+ | ||||
| | Northbridge      | :doc:`../../northbridge/intel/sandybridge/index` | | ||||
| +------------------+--------------------------------------------------+ | ||||
| @@ -71,7 +71,7 @@ extlinux | ||||
|  | ||||
| ## Flashing coreboot | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +---------------------+------------+ | ||||
| | Type                | Value      | | ||||
| +=====================+============+ | ||||
| @@ -115,7 +115,7 @@ $ sudo flashrom --noverify-all --ifd -i bios -p internal -w coreboot.rom | ||||
| The use of `--noverify-all` is required since the Management Engine | ||||
| region is not readable even by the host. | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| In addition to the information here, please see the | ||||
| :doc:`../../tutorial/flashing_firmware/index`. | ||||
| ``` | ||||
|   | ||||
| @@ -4,7 +4,7 @@ This page describes how to run coreboot on the [ASRock H81M-HDS]. | ||||
|  | ||||
| ## Required proprietary blobs | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| Please see :doc:`../../northbridge/intel/haswell/mrc.bin`. | ||||
| ``` | ||||
|  | ||||
| @@ -75,7 +75,7 @@ facing towards the bottom of the board. | ||||
|   in coreboot. The `coretemp` driver can still be used for accurate CPU | ||||
|   temperature readings from an OS. | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| Please also see :doc:`../../northbridge/intel/haswell/known-issues`. | ||||
| ``` | ||||
|  | ||||
| @@ -111,7 +111,7 @@ Please also see :doc:`../../northbridge/intel/haswell/known-issues`. | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+--------------------------------------------------+ | ||||
| | Northbridge      | :doc:`../../northbridge/intel/haswell/index`     | | ||||
| +------------------+--------------------------------------------------+ | ||||
|   | ||||
| @@ -14,7 +14,7 @@ and their GPU is [Sea Islands] (GCN2-based). | ||||
|  | ||||
| A10 Richland is recommended for the best performance and working IOMMU. | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+--------------------------------------------------+ | ||||
| | A88XM-E          |                                                  | | ||||
| +------------------+--------------------------------------------------+ | ||||
| @@ -36,7 +36,7 @@ A10 Richland is recommended for the best performance and working IOMMU. | ||||
|  | ||||
| ## Flashing coreboot | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +---------------------+------------+ | ||||
| | Type                | Value      | | ||||
| +=====================+============+ | ||||
|   | ||||
| @@ -15,7 +15,7 @@ Both "Trinity" and "Richland" desktop processing units are working, | ||||
| the CPU architecture in these CPUs/APUs is [Piledriver], | ||||
| and their GPU is [TeraScale 3] (VLIW4-based). | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+--------------------------------------------------+ | ||||
| | F2A85-M          |                                                  | | ||||
| +------------------+--------------------------------------------------+ | ||||
| @@ -35,7 +35,7 @@ and their GPU is [TeraScale 3] (VLIW4-based). | ||||
| +------------------+--------------------------------------------------+ | ||||
| ``` | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+--------------------------------------------------+ | ||||
| | F2A85-M LE       |                                                  | | ||||
| +------------------+--------------------------------------------------+ | ||||
| @@ -55,7 +55,7 @@ and their GPU is [TeraScale 3] (VLIW4-based). | ||||
| +------------------+--------------------------------------------------+ | ||||
| ``` | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+--------------------------------------------------+ | ||||
| | F2A85-M PRO      |                                                  | | ||||
| +------------------+--------------------------------------------------+ | ||||
| @@ -77,7 +77,7 @@ and their GPU is [TeraScale 3] (VLIW4-based). | ||||
|  | ||||
| ## Flashing coreboot | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +---------------------+------------+ | ||||
| | Type                | Value      | | ||||
| +=====================+============+ | ||||
|   | ||||
| @@ -10,7 +10,7 @@ This page describes how to run coreboot on the ASUS P2B-LS mainboard. | ||||
|  | ||||
| ## Flashing coreboot | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +---------------------+---------------------------+ | ||||
| | Type                | Value                     | | ||||
| +=====================+===========================+ | ||||
| @@ -90,7 +90,7 @@ for only CPU models that the board will actually be run with. | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+--------------------------------------------------+ | ||||
| | Northbridge      | Intel I440BX                                     | | ||||
| +------------------+--------------------------------------------------+ | ||||
|   | ||||
| @@ -4,7 +4,7 @@ This page describes how to run coreboot on the ASUS P3B-F mainboard. | ||||
|  | ||||
| ## Flashing coreboot | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +---------------------+---------------------------+ | ||||
| | Type                | Value                     | | ||||
| +=====================+===========================+ | ||||
| @@ -88,7 +88,7 @@ for only CPU models that the board will actually be run with. | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+--------------------------------------------------+ | ||||
| | Northbridge      | Intel I440BX                                     | | ||||
| +------------------+--------------------------------------------------+ | ||||
|   | ||||
| @@ -32,7 +32,7 @@ This page describes how to run coreboot on the [ASUS P5Q] desktop board. | ||||
|  | ||||
| ## Flashing coreboot | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +-------------------+----------------+ | ||||
| | Type              | Value          | | ||||
| +===================+================+ | ||||
| @@ -56,7 +56,7 @@ You can flash coreboot into your motherboard using [this guide]. | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+---------------------------------------------------+ | ||||
| | Northbridge      | Intel P45 (called x4x in coreboot code)           | | ||||
| +------------------+---------------------------------------------------+ | ||||
|   | ||||
| @@ -4,7 +4,7 @@ This page describes how to run coreboot on the [ASUS P8H77-V]. | ||||
|  | ||||
| ## Flashing coreboot | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +---------------------+----------------+ | ||||
| | Type                | Value          | | ||||
| +=====================+================+ | ||||
| @@ -69,7 +69,7 @@ flash externally. | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+--------------------------------------------------+ | ||||
| | Northbridge      | :doc:`../../northbridge/intel/sandybridge/index` | | ||||
| +------------------+--------------------------------------------------+ | ||||
|   | ||||
| @@ -4,7 +4,7 @@ This page describes how to run coreboot on the [ASUS P8H61-M LX]. | ||||
|  | ||||
| ## Flashing coreboot | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +---------------------+------------+ | ||||
| | Type                | Value      | | ||||
| +=====================+============+ | ||||
| @@ -84,7 +84,7 @@ region is not readable even by the host. | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+--------------------------------------------------+ | ||||
| | Northbridge      | :doc:`../../northbridge/intel/sandybridge/index` | | ||||
| +------------------+--------------------------------------------------+ | ||||
|   | ||||
| @@ -4,7 +4,7 @@ This page describes how to run coreboot on the [ASUS P8H61-M Pro]. | ||||
|  | ||||
| ## Flashing coreboot | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +---------------------+------------+ | ||||
| | Type                | Value      | | ||||
| +=====================+============+ | ||||
| @@ -78,7 +78,7 @@ region is not readable even by the host. | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+--------------------------------------------------+ | ||||
| | Northbridge      | :doc:`../../northbridge/intel/sandybridge/index` | | ||||
| +------------------+--------------------------------------------------+ | ||||
|   | ||||
| @@ -4,7 +4,7 @@ This page describes how to run coreboot on the [ASUS P8H77-V]. | ||||
|  | ||||
| ## Flashing coreboot | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +---------------------+----------------+ | ||||
| | Type                | Value          | | ||||
| +=====================+================+ | ||||
| @@ -56,7 +56,7 @@ work. The flash chip is socketed, so it's easy to remove and reflash. | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+--------------------------------------------------+ | ||||
| | Northbridge      | :doc:`../../northbridge/intel/sandybridge/index` | | ||||
| +------------------+--------------------------------------------------+ | ||||
|   | ||||
| @@ -4,7 +4,7 @@ This page describes how to run coreboot on the [ASUS P8Z77-M]. | ||||
|  | ||||
| ## Flashing coreboot | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +---------------------+----------------+ | ||||
| | Type                | Value          | | ||||
| +=====================+================+ | ||||
| @@ -112,7 +112,7 @@ therefore they currently do nothing under coreboot. | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+--------------------------------------------------+ | ||||
| | Northbridge      | :doc:`../../northbridge/intel/sandybridge/index` | | ||||
| +------------------+--------------------------------------------------+ | ||||
|   | ||||
| @@ -4,7 +4,7 @@ This page describes how to run coreboot on the [ASUS P8Z77-M PRO] | ||||
|  | ||||
| ## Flashing coreboot | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +---------------------+----------------+ | ||||
| | Type                | Value          | | ||||
| +=====================+================+ | ||||
| @@ -143,7 +143,7 @@ easy to remove and reflash. | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+--------------------------------------------------+ | ||||
| | Northbridge      | :doc:`../../northbridge/intel/sandybridge/index` | | ||||
| +------------------+--------------------------------------------------+ | ||||
|   | ||||
| @@ -4,7 +4,7 @@ This page describes how to run coreboot on the [ASUS P8Z77-V]. | ||||
|  | ||||
| ## Flashing coreboot | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +---------------------+----------------+ | ||||
| | Type                | Value          | | ||||
| +=====================+================+ | ||||
| @@ -86,7 +86,7 @@ See [Asus Wi-Fi Go! v1]. | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+--------------------------------------------------+ | ||||
| | Northbridge      | :doc:`../../northbridge/intel/sandybridge/index` | | ||||
| +------------------+--------------------------------------------------+ | ||||
|   | ||||
| @@ -8,7 +8,7 @@ through a proprietary 16-1 pin connector. | ||||
| I managed to grope the most pinout of the proprietary connector. | ||||
| See [Mini PCIe pinout] for more info. | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------+----------+-----------+------------+----------+-----------+ | ||||
| | WIFIGO Pin | Usage    | mPCIe pin | WIFIGO Pin | Usage    | mPCIe pin | | ||||
| +============+==========+===========+============+==========+===========+ | ||||
|   | ||||
| @@ -17,7 +17,7 @@ | ||||
|  | ||||
| ## Flashing coreboot | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +---------------------+----------------+ | ||||
| | Type                | Value          | | ||||
| +=====================+================+ | ||||
| @@ -58,7 +58,7 @@ | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +---------------+----------------------------------------+ | ||||
| | SoC           | :doc:`../../soc/cavium/cn81xx/index`   | | ||||
| +---------------+----------------------------------------+ | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  | ||||
| ## Hardware | ||||
| ### Technology | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+--------------------------------+ | ||||
| | CPU              | Intel i7-8550U                 | | ||||
| +------------------+--------------------------------+ | ||||
| @@ -15,7 +15,7 @@ | ||||
| ``` | ||||
|  | ||||
| ### Flash chip | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +---------------------+-----------------+ | ||||
| | Type                | Value           | | ||||
| +=====================+=================+ | ||||
|   | ||||
| @@ -1,83 +0,0 @@ | ||||
| # Dell Latitude E7240 | ||||
|  | ||||
| This page is about the notebook [Dell Latitude E7240]. | ||||
|  | ||||
| ## Release status | ||||
|  | ||||
| Dell Latitude E7240 was released in 2013 and is now end of life. | ||||
| It can be bought from a secondhand market like Taobao or eBay. | ||||
|  | ||||
| ## Required proprietary blobs | ||||
|  | ||||
| The following blobs are required to operate the hardware: | ||||
| 1. mrc.bin | ||||
| 2. Intel ME firmware | ||||
|  | ||||
| Memory reference code in mrc.bin is used to initialize the Haswell platform. | ||||
| You need this blob to build a working coreboot image. Please read | ||||
| [mrc.bin](../../northbridge/intel/haswell/mrc.bin) for instructions on | ||||
| retrieving and using it. | ||||
|  | ||||
| Intel ME firmware is in the flash chip. It is not needed when building coreboot. | ||||
| It can be extracted from the OEM firmware. You can also flash only the BIOS | ||||
| region to leave Intel ME firmware untouched. | ||||
|  | ||||
| ## Programming | ||||
|  | ||||
| The laptop can be flashed internally under OEM firmware using [dell-flash-unlock]. | ||||
|  | ||||
| To flash with an external programmer, you need to remove the battery and the base cover. | ||||
|  | ||||
|  | ||||
|  | ||||
| For more details have a look at the general [flashing tutorial]. | ||||
|  | ||||
| It is also possible to flash internally under coreboot. | ||||
|  | ||||
| ## Debugging | ||||
|  | ||||
| The board can be debugged with EHCI debug. The EHCI debug port is next to the miniDP port. | ||||
|  | ||||
| There's a serial port on dock, but it's not yet supported in coreboot. | ||||
|  | ||||
| Schematic of this laptop can be found online. The board name is Compal LA-9431P. | ||||
|  | ||||
| ## Test status | ||||
|  | ||||
| ### Not working | ||||
|  | ||||
| - EC ACPI | ||||
| - SD/MMC card reader (kernel reports "Timeout waiting for hardware cmd interrupt.") | ||||
| - No internal display before booting to OS when connected with a dock | ||||
|  | ||||
| ### Working | ||||
|  | ||||
| - Integrated graphics init with libgfxinit | ||||
| - mSATA | ||||
| - WLAN | ||||
| - USB | ||||
| - Keyboard | ||||
| - Touchpad and the buttons on it | ||||
| - Dock: all USB ports, DisplayPort, eSATA | ||||
| - Internal flashing | ||||
|  | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| +------------------+-----------------------------+ | ||||
| | CPU              | Intel Haswell-ULT           | | ||||
| +------------------+-----------------------------+ | ||||
| | PCH              | Intel Lynx Point Low Power  | | ||||
| +------------------+-----------------------------+ | ||||
| | EC               | SMSC MEC5075                | | ||||
| +------------------+-----------------------------+ | ||||
| | Super I/O        | SMSC ECE5048                | | ||||
| +------------------+-----------------------------+ | ||||
| | Coprocessor      | Intel Management Engine     | | ||||
| +------------------+-----------------------------+ | ||||
| ``` | ||||
|  | ||||
| [Dell Latitude E7240]: https://www.dell.com/support/home/en-us/product-support/product/latitude-e7240-ultrabook/docs | ||||
| [dell-flash-unlock]: https://github.com/nic3-14159/dell-flash-unlock | ||||
| [flashing tutorial]: ../../tutorial/flashing_firmware/ext_power.md | ||||
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 97 KiB | 
| @@ -6,7 +6,7 @@ This page describes how to run coreboot on Dell OptiPlex 9010 SFF. | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------+---------------------------------------------------------------+ | ||||
| | CPU        | Intel Core 2nd Gen (Sandybridge) or 3rd Gen (Ivybridge)       | | ||||
| +------------+---------------------------------------------------------------+ | ||||
| @@ -28,7 +28,7 @@ More specifications on [Dell OptiPlex 9010 specifications]. | ||||
|  | ||||
| ## Required proprietary blobs | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+---------------------------------+---------------------+ | ||||
| | Binary file      | Apply                           | Required / Optional | | ||||
| +==================+=================================+=====================+ | ||||
| @@ -50,7 +50,7 @@ signature `SMSCUBIM`. The easiest way to do this is to use [UEFITool] and | ||||
|  | ||||
| ## Flashing coreboot | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +---------------------+--------------------------+ | ||||
| | Type                | Value                    | | ||||
| +=====================+==========================+ | ||||
|   | ||||
| @@ -3,9 +3,6 @@ | ||||
| ## Building coreboot and running it in QEMU | ||||
|  | ||||
| - Configure coreboot and run `make` as usual | ||||
|  | ||||
| Run QEMU | ||||
| ``` | ||||
| qemu-system-riscv64 -M virt -m 1G -nographic -bios build/coreboot.rom \ | ||||
|                     -drive if=pflash,file=./build/coreboot.rom,format=raw | ||||
| ``` | ||||
| - Run `util/riscv/make-spike-elf.sh build/coreboot.rom build/coreboot.elf` to | ||||
|   convert coreboot to an ELF that QEMU can load | ||||
| - Run `qemu-system-riscv64 -M virt -m 1024M -nographic -kernel build/coreboot.elf` | ||||
|   | ||||
| @@ -1,42 +0,0 @@ | ||||
| # QEMU SBSA emulator | ||||
| This page describes how to build and run ```coreboot``` for QEMU's sbsa-ref machine. | ||||
| The qemu-sbsa ```coreboot``` image acts as BL-3.3 for Arm Trusted Firmware (```TF-A```) and | ||||
| mainly takes care of setting up SMBIOS and ACPI tables, hence, in order to boot, | ||||
| you also need to supply a ```TF-A``` image. | ||||
|  | ||||
| ## Building TF-A | ||||
|  | ||||
| You can build ```TF-A``` from source by fetching | ||||
| ``` | ||||
| https://github.com/ARM-software/arm-trusted-firmware | ||||
| ``` | ||||
| and building the qemu-sbsa platform | ||||
| ``` | ||||
| PLAT=qemu_sbsa | ||||
| ``` | ||||
| Upon entry, ```coreboot``` expects a FDT pointer in x0, so make sure to compile ```TF-A``` with | ||||
| ``` | ||||
| ARM_LINUX_KERNEL_AS_BL33=1 | ||||
| ``` | ||||
| This will force ```TF-A``` to pass a pointer to the FDT in x0. | ||||
|  | ||||
| ## Building coreboot | ||||
|  | ||||
| Simply select the qemu-sbsa board and, optionally, configure a payload. We recommend | ||||
| the ```leanefi``` payload. ```leanefi``` will setup a minimal set of UEFI services, just enough | ||||
| to boot into a linux kernel. | ||||
|  | ||||
| ## Running coreboot in QEMU | ||||
|  | ||||
| Once you have obtained ```TF-A``` and ```coreboot``` images, launch qemu via | ||||
|  | ||||
| ```bash | ||||
| qemu-system-aarch64 -nographic -m 1024 -M sbsa-ref -pflash <path/to/TFA.fd> \ | ||||
|                                                    -pflash <path/to/coreboot.rom> | ||||
| ``` | ||||
|  | ||||
| ## LBBR bootflow | ||||
|  | ||||
| arm and 9elements worked together in order to create a LBBR compliant bootflow | ||||
| consisting of ```TF-A```, ```coreboot```, ```leanefi``` and ```LinuxBoot```. A proof of concept | ||||
| can be found here https://gitlab.arm.com/systemready/firmware-build/linuxboot/lbbr-coreboot-poc | ||||
| @@ -63,7 +63,7 @@ Specifically, it's a Winbond W25Q64FV (3.3V), whose datasheet can be found | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+--------------------------------------------------+ | ||||
| | SoC              | Intel Atom Processor N3710                       | | ||||
| +------------------+--------------------------------------------------+ | ||||
|   | ||||
| @@ -14,7 +14,7 @@ Intel company provides [Firmware Support Package (2.0)](../../soc/intel/fsp/inde | ||||
|  | ||||
| FSP Information: | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +-----------------------------+-------------------+-------------------+ | ||||
| | FSP Project Name            | Directory         | Specification     | | ||||
| +-----------------------------+-------------------+-------------------+ | ||||
| @@ -116,7 +116,7 @@ output. | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+--------------------------------------------------+ | ||||
| | SoC              | Intel Kaby Lake U                                | | ||||
| +------------------+--------------------------------------------------+ | ||||
|   | ||||
| @@ -14,7 +14,7 @@ The default options for this board should result in a fully working image: | ||||
|  | ||||
| ## Flashing coreboot | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +---------------------+--------+ | ||||
| | Type                | Value  | | ||||
| +=====================+========+ | ||||
| @@ -56,7 +56,7 @@ To do this gently take the SPI flash out of its socket and flash with your progr | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+------------------+ | ||||
| | Northbridge      | Intel Pinevew    | | ||||
| +------------------+------------------+ | ||||
|   | ||||
| @@ -6,7 +6,7 @@ This motherboard [also works with Libreboot](https://libreboot.org/docs/install/ | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+--------------------------------------------------+ | ||||
| | Type             | Value                                            | | ||||
| +==================+==================================================+ | ||||
| @@ -30,7 +30,7 @@ This motherboard [also works with Libreboot](https://libreboot.org/docs/install/ | ||||
|  | ||||
| ## Preparation | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| For more datails how to get sources and build the toolchain, see :doc:`../../tutorial/part1`. | ||||
| ``` | ||||
|  | ||||
| @@ -140,7 +140,7 @@ Built gigabyte/ga-g41m-es2l (GA-G41M-ES2L) | ||||
|  | ||||
| ## Flashing coreboot | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| In addition to the information here, please see the | ||||
| :doc:`../../tutorial/flashing_firmware/index`. | ||||
| ``` | ||||
|   | ||||
| @@ -5,7 +5,7 @@ from [Gigabyte]. | ||||
|  | ||||
| ## Flashing coreboot | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +---------------------+------------+ | ||||
| | Type                | Value      | | ||||
| +=====================+============+ | ||||
| @@ -59,7 +59,7 @@ However, this makes DualBIOS unable to recover from a bad flash for some reason. | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+--------------------------------------------------+ | ||||
| | Northbridge      | :doc:`../../northbridge/intel/sandybridge/index` | | ||||
| +------------------+--------------------------------------------------+ | ||||
|   | ||||
| @@ -74,7 +74,7 @@ The EHCI debug port is the left USB3 port. | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+--------------------------------------------------+ | ||||
| | CPU              | Intel Sandy/Ivy Bridge (FCPGA988)                | | ||||
| +------------------+--------------------------------------------------+ | ||||
|   | ||||
| @@ -80,7 +80,7 @@ Schematic of this laptop can be found on [Lab One]. | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+--------------------------------------------------+ | ||||
| | CPU              | Intel Sandy/Ivy Bridge (FCPGA988)                | | ||||
| +------------------+--------------------------------------------------+ | ||||
|   | ||||
| @@ -1,80 +0,0 @@ | ||||
| # HP EliteBook 8560w | ||||
|  | ||||
| This page describes how to run coreboot on the [HP EliteBook 8560w]. | ||||
|  | ||||
| ## Required proprietary blobs | ||||
|  | ||||
| - Intel Firmware Descriptor, ME and GbE firmware | ||||
| - EC: please read [HP Laptops with KBC1126 Embedded Controller](hp_kbc1126_laptops) | ||||
|  | ||||
| ## Flashing instructions | ||||
|  | ||||
| When running vendor firmware, external flashing is needed. | ||||
|  | ||||
| HP EliteBook 8560w has an 8MiB SOIC-8 flash chip on the bottom of the | ||||
| mainboard. You just need to remove the service cover, and use an SOIC-8 | ||||
| clip to read and flash the chip. | ||||
|  | ||||
|  | ||||
|  | ||||
| ```{eval-rst} | ||||
| +---------------------+------------+ | ||||
| | Type                | Value      | | ||||
| +=====================+============+ | ||||
| | Socketed flash      | no         | | ||||
| +---------------------+------------+ | ||||
| | Model               | MX25L6406E | | ||||
| +---------------------+------------+ | ||||
| | Size                | 8 MiB      | | ||||
| +---------------------+------------+ | ||||
| | Package             | SOIC-8     | | ||||
| +---------------------+------------+ | ||||
| | Write protection    | no         | | ||||
| +---------------------+------------+ | ||||
| | Dual BIOS feature   | no         | | ||||
| +---------------------+------------+ | ||||
| | In circuit flashing | yes        | | ||||
| +---------------------+------------+ | ||||
| | Internal flashing   | yes        | | ||||
| +---------------------+------------+ | ||||
| ``` | ||||
|  | ||||
| ## Working | ||||
|  | ||||
| - i7-2720QM, 8G+8G | ||||
| - Arch Linux boot from SeaBIOS payload | ||||
| - EHCI debug: the port is beside the eSATA port | ||||
| - SATA | ||||
| - eSATA | ||||
| - USB2 and USB3 | ||||
| - keyboard | ||||
| - Gigabit Ethernet | ||||
| - WLAN | ||||
| - WWAN | ||||
| - VGA and DisplayPort | ||||
| - audio | ||||
| - EC ACPI | ||||
| - Using `me_cleaner` | ||||
| - dock: PS/2 keyboard, USB, DisplayPort | ||||
| - TPM | ||||
| - S3 suspend/resume | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| +------------------+--------------------------------------------------+ | ||||
| | Northbridge      | :doc:`../../northbridge/intel/sandybridge/index` | | ||||
| +------------------+--------------------------------------------------+ | ||||
| | Southbridge      | bd82x6x                                          | | ||||
| +------------------+--------------------------------------------------+ | ||||
| | CPU              | model_206ax                                      | | ||||
| +------------------+--------------------------------------------------+ | ||||
| | Super I/O        | SMSC LPC47n217                                   | | ||||
| +------------------+--------------------------------------------------+ | ||||
| | EC               | SMSC KBC1126                                     | | ||||
| +------------------+--------------------------------------------------+ | ||||
| | Coprocessor      | Intel Management Engine                          | | ||||
| +------------------+--------------------------------------------------+ | ||||
| ``` | ||||
|  | ||||
| [HP EliteBook 8560w]: https://support.hp.com/us-en/product/hp-elitebook-8560w-mobile-workstation/5071171 | ||||
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 50 KiB | 
| @@ -7,7 +7,7 @@ checkout the [code on gerrit] to build coreboot for the laptop. | ||||
|  | ||||
| ## Flashing coreboot | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +---------------------+------------+ | ||||
| | Type                | Value      | | ||||
| +=====================+============+ | ||||
| @@ -66,7 +66,7 @@ clip to read and flash the chip. | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+--------------------------------------------------+ | ||||
| | Northbridge      | :doc:`../../northbridge/intel/sandybridge/index` | | ||||
| +------------------+--------------------------------------------------+ | ||||
|   | ||||
| @@ -13,7 +13,7 @@ The following things are still missing from this coreboot port: | ||||
|  | ||||
| ## Flashing coreboot | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +---------------------+-------------------------+ | ||||
| | Type                | Value                   | | ||||
| +=====================+=========================+ | ||||
| @@ -128,7 +128,7 @@ as otherwise there's not enough space near the flash. | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+--------------------------------------------------+ | ||||
| | Northbridge      | :doc:`../../northbridge/intel/sandybridge/index` | | ||||
| +------------------+--------------------------------------------------+ | ||||
|   | ||||
| @@ -5,7 +5,7 @@ from [HP]. | ||||
|  | ||||
| ## Flashing coreboot | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +---------------------+-------------+ | ||||
| | Type                | Value       | | ||||
| +=====================+=============+ | ||||
| @@ -42,7 +42,7 @@ Wake on LAN is active works great. | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+--------------------------------------------------+ | ||||
| | Northbridge      | :doc:`../../northbridge/intel/sandybridge/index` | | ||||
| +------------------+--------------------------------------------------+ | ||||
|   | ||||
| @@ -124,7 +124,7 @@ The board can be debugged with EHCI debug. The EHCI debug port is the USB port o | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+-----------------------------+ | ||||
| | SoC              | Intel Broadwell             | | ||||
| +------------------+-----------------------------+ | ||||
|   | ||||
| @@ -138,7 +138,7 @@ The board can be debugged with EHCI debug. The EHCI debug port is the USB port o | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+-----------------------------+ | ||||
| | CPU              | Intel Haswell-ULT           | | ||||
| +------------------+-----------------------------+ | ||||
|   | ||||
| @@ -1,103 +0,0 @@ | ||||
| # HP Pro 3500 Series | ||||
|  | ||||
| This page describes how to run coreboot on the [Pro 3500 Series] | ||||
| desktop from [HP]. | ||||
|  | ||||
| ## State | ||||
|  | ||||
| All peripherals should work. Automatic fan control as well as S3 are | ||||
| working. The board was tested to boot Linux and Windows. EHCI debug | ||||
| is untested. When using MrChromebox edk2 with secure boot build in, the | ||||
| board will hang on each boot for about 20 seconds before continuing. | ||||
| With disabled ME, the SuperIO will not get CPU temperatures via PECI and | ||||
| therefore the automatic fan control will not increase the fan speed. | ||||
|  | ||||
| ## Flashing coreboot | ||||
|  | ||||
| ```{eval-rst} | ||||
| +---------------------+-------------------------+ | ||||
| | Type                | Value                   | | ||||
| +=====================+=========================+ | ||||
| | Socketed flash      | No                      | | ||||
| +---------------------+-------------------------+ | ||||
| | Model               | W25Q64FVSIG             | | ||||
| +---------------------+-------------------------+ | ||||
| | Size                | 8 MiB                   | | ||||
| +---------------------+-------------------------+ | ||||
| | In circuit flashing | Yes                     | | ||||
| +---------------------+-------------------------+ | ||||
| | Package             | SOIC-8                  | | ||||
| +---------------------+-------------------------+ | ||||
| | Write protection    | See below               | | ||||
| +---------------------+-------------------------+ | ||||
| | Dual BIOS feature   | No                      | | ||||
| +---------------------+-------------------------+ | ||||
| | Internal flashing   | Yes                     | | ||||
| +---------------------+-------------------------+ | ||||
| ``` | ||||
|  | ||||
| ### Flash layout | ||||
| The original layout of the flash should look like this: | ||||
| ``` | ||||
| 00000000:00000fff fd | ||||
| 00400000:007fffff bios | ||||
| 00001000:003fffff me | ||||
| 00fff000:00000fff gbe | ||||
| 00fff000:00000fff pd | ||||
| ``` | ||||
|  | ||||
| ### Internal programming | ||||
|  | ||||
| The SPI flash can be accessed using [flashrom] (although it reports as | ||||
| "N25Q064..3E", it works fine). | ||||
|  | ||||
| With a missing FDO jumper, `fd` region is read-only, `bios` region is | ||||
| read-write and `me` region is locked. Vendor firmware will additionally | ||||
| protect the flash chip. After shorting the FDO jumper (E2) full | ||||
| read-write access is granted. | ||||
|  | ||||
| Do **NOT shutdown** the operating system **after flashing** coreboot | ||||
| from the vendor firmware! This will brick your device because the bios | ||||
| region will be modified on shutdown. Cut the AC power or do a restart | ||||
| from the OS. | ||||
|  | ||||
| **Position of FDO jumper (E2) close to the F_USB3** | ||||
| ![][pro_3500_jumper] | ||||
|  | ||||
| [pro_3500_jumper]: pro_3500_series_jumper.avif | ||||
|  | ||||
| ### External programming | ||||
|  | ||||
| External programming with an SPI adapter and [flashrom] does work, but | ||||
| it powers the whole southbridge complex. The average current will be | ||||
| 400mA but spikes may be higher. Connect the power to the flash or the | ||||
| programming header next to the flash otherwise programming is unstable. | ||||
| The supply needs to quickly reach 3V3 or else the chip is also unstable | ||||
| until cleanly power cycled. | ||||
|  | ||||
| **Position of SOIC-8 flash and pin-header near ATX power connector** | ||||
| ![][pro_3500_flash] | ||||
|  | ||||
| [pro_3500_flash]: pro_3500_series_flash.avif | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| +------------------+--------------------------------------------------+ | ||||
| | Northbridge      | :doc:`../../northbridge/intel/sandybridge/index` | | ||||
| +------------------+--------------------------------------------------+ | ||||
| | Southbridge      | bd82x6x (bd82h61)                                | | ||||
| +------------------+--------------------------------------------------+ | ||||
| | CPU              | model_206ax                                      | | ||||
| +------------------+--------------------------------------------------+ | ||||
| | SuperIO          | IT8779E (identifies as IT8772F via register)     | | ||||
| +------------------+--------------------------------------------------+ | ||||
| | EC               | Fixed function as part of SuperIO                | | ||||
| +------------------+--------------------------------------------------+ | ||||
| | Coprocessor      | Intel ME                                         | | ||||
| +------------------+--------------------------------------------------+ | ||||
| ``` | ||||
|  | ||||
| [Pro 3500 Series]: https://support.hp.com/us-en/document/c03364089 | ||||
| [HP]: https://www.hp.com/ | ||||
| [flashrom]: https://flashrom.org/Flashrom | ||||
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 37 KiB | 
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 35 KiB | 
| @@ -13,7 +13,7 @@ The following things are still missing from this coreboot port: | ||||
|  | ||||
| ## Flashing coreboot | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +---------------------+-------------+ | ||||
| | Type                | Value       | | ||||
| +=====================+=============+ | ||||
| @@ -58,7 +58,7 @@ even interchangeable, so should do coreboot images built for them. | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+--------------------------------------------------+ | ||||
| | Northbridge      | :doc:`../../northbridge/intel/sandybridge/index` | | ||||
| +------------------+--------------------------------------------------+ | ||||
|   | ||||
| @@ -4,397 +4,240 @@ This section contains documentation about coreboot on specific mainboards. | ||||
|  | ||||
| ## 51NB | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| X210 <51nb/x210.md> | ||||
| ``` | ||||
| - [X210](51nb/x210.md) | ||||
|  | ||||
| ## Acer | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| G43T-AM3 <acer/g43t-am3.md> | ||||
| ``` | ||||
| - [G43T-AM3](acer/g43t-am3.md) | ||||
|  | ||||
| ## AMD | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| pademelon <amd/pademelon/pademelon.md> | ||||
| ``` | ||||
| - [pademelon](amd/pademelon/pademelon.md) | ||||
|  | ||||
| ## ASRock | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| H77 Pro4-M <asrock/h77pro4-m.md> | ||||
| H81M-HDS <asrock/h81m-hds.md> | ||||
| H110M-DVS <asrock/h110m-dvs.md> | ||||
| ``` | ||||
| - [H77 Pro4-M](asrock/h77pro4-m.md) | ||||
| - [H81M-HDS](asrock/h81m-hds.md) | ||||
| - [H110M-DVS](asrock/h110m-dvs.md) | ||||
|  | ||||
| ## ASUS | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| A88XM-E <asus/a88xm-e.md> | ||||
| F2A85-M <asus/f2a85-m.md> | ||||
| P2B-LS <asus/p2b-ls.md> | ||||
| P3B-F <asus/p3b-f.md> | ||||
| P5Q <asus/p5q.md> | ||||
| P8C WS <asus/p8c_ws.md> | ||||
| P8H61-M LX <asus/p8h61-m_lx.md> | ||||
| P8H61-M Pro <asus/p8h61-m_pro.md> | ||||
| P8H77-V <asus/p8h77-v.md> | ||||
| P8Z77-M <asus/p8z77-m.md> | ||||
| P8Z77-M Pro <asus/p8z77-m_pro.md> | ||||
| P8Z77-V <asus/p8z77-v.md> | ||||
| wifigo_v1 <asus/wifigo_v1.md> | ||||
| ``` | ||||
| - [A88XM-E](asus/a88xm-e.md) | ||||
| - [F2A85-M](asus/f2a85-m.md) | ||||
| - [P2B-LS](asus/p2b-ls.md) | ||||
| - [P3B-F](asus/p3b-f.md) | ||||
| - [P5Q](asus/p5q.md) | ||||
| - [P8C WS](asus/p8c_ws.md) | ||||
| - [P8H61-M LX](asus/p8h61-m_lx.md) | ||||
| - [P8H61-M Pro](asus/p8h61-m_pro.md) | ||||
| - [P8H77-V](asus/p8h77-v.md) | ||||
| - [P8Z77-M](asus/p8z77-m.md) | ||||
| - [P8Z77-M Pro](asus/p8z77-m_pro.md) | ||||
| - [P8Z77-V](asus/p8z77-v.md) | ||||
| - [wifigo_v1](asus/wifigo_v1.md) | ||||
|  | ||||
| ## Cavium | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| CN81XX EVB SFF <cavium/cn8100_sff_evb.md> | ||||
| ``` | ||||
| - [CN81XX EVB SFF](cavium/cn8100_sff_evb.md) | ||||
|  | ||||
| ## Clevo | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| N130WU / N131WU <clevo/n130wu/index.md> | ||||
| ``` | ||||
| - [N130WU / N131WU](clevo/n130wu/index.md) | ||||
|  | ||||
| ## Dell | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| Latitude E7240 <dell/e7240.md> | ||||
| OptiPlex 9010 SFF <dell/optiplex_9010.md> | ||||
| ``` | ||||
| - [OptiPlex 9010 SFF](dell/optiplex_9010.md) | ||||
|  | ||||
| ## Emulation | ||||
|  | ||||
| The boards in this section are not real mainboards, but emulators. | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| Spike RISC-V emulator <emulation/spike-riscv.md> | ||||
| QEMU RISC-V emulator <emulation/qemu-riscv.md> | ||||
| QEMU AArch64 emulator <emulation/qemu-aarch64.md> | ||||
| QEMU SBSA emulator <emulation/qemu-sbsa.md> | ||||
| QEMU x86 Q35 <emulation/qemu-q35.md> | ||||
| QEMU x86 PC <emulation/qemu-i440fx.md> | ||||
| QEMU POWER9 <emulation/qemu-power9.md> | ||||
| ``` | ||||
| - [Spike RISC-V emulator](emulation/spike-riscv.md) | ||||
| - [QEMU RISC-V emulator](emulation/qemu-riscv.md) | ||||
| - [QEMU AArch64 emulator](emulation/qemu-aarch64.md) | ||||
| - [QEMU x86 Q35](emulation/qemu-q35.md) | ||||
| - [QEMU x86 PC](emulation/qemu-i440fx.md) | ||||
| - [QEMU POWER9](emulation/qemu-power9.md) | ||||
|  | ||||
| ## Facebook | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| FBG-1701 <facebook/fbg1701.md> | ||||
| Monolith <facebook/monolith.md> | ||||
| ``` | ||||
| - [FBG-1701](facebook/fbg1701.md) | ||||
| - [Monolith](facebook/monolith.md) | ||||
|  | ||||
| ## Foxconn | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| D41S <foxconn/d41s.md> | ||||
| ``` | ||||
| - [D41S](foxconn/d41s.md) | ||||
|  | ||||
| ## Gigabyte | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| GA-G41M-ES2L <gigabyte/ga-g41m-es2l.md> | ||||
| GA-H61M-S2PV <gigabyte/ga-h61m-s2pv.md> | ||||
| ``` | ||||
| - [GA-G41M-ES2L](gigabyte/ga-g41m-es2l.md) | ||||
| - [GA-H61M-S2PV](gigabyte/ga-h61m-s2pv.md) | ||||
|  | ||||
| ## HP | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| Compaq 8200 Elite SFF <hp/compaq_8200_sff.md> | ||||
| Compaq Elite 8300 USDT <hp/compaq_8300_usdt.md> | ||||
| Pro 3500 Series <hp/pro_3500_series.md> | ||||
| Z220 Workstation SFF <hp/z220_sff.md> | ||||
| ``` | ||||
| - [Compaq 8200 Elite SFF](hp/compaq_8200_sff.md) | ||||
| - [Compaq Elite 8300 USDT](hp/compaq_8300_usdt.md) | ||||
| - [Z220 Workstation SFF](hp/z220_sff.md) | ||||
|  | ||||
| ### EliteBook series | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| HP Laptops with KBC1126 EC <hp/hp_kbc1126_laptops.md> | ||||
| HP Sure Start <hp/hp_sure_start.md> | ||||
| EliteBook 2170p <hp/2170p.md> | ||||
| EliteBook 2560p <hp/2560p.md> | ||||
| EliteBook 8560w <hp/8560w.md> | ||||
| EliteBook 8760w <hp/8760w.md> | ||||
| EliteBook Folio 9480m <hp/folio_9480m.md> | ||||
| EliteBook 820 G2 <hp/elitebook_820_g2.md> | ||||
| ``` | ||||
| - [HP Laptops with KBC1126 EC](hp/hp_kbc1126_laptops.md) | ||||
| - [HP Sure Start](hp/hp_sure_start.md) | ||||
| - [EliteBook 2170p](hp/2170p.md) | ||||
| - [EliteBook 2560p](hp/2560p.md) | ||||
| - [EliteBook 8760w](hp/8760w.md) | ||||
| - [EliteBook Folio 9480m](hp/folio_9480m.md) | ||||
| - [EliteBook 820 G2](hp/elitebook_820_g2.md) | ||||
|  | ||||
| ## Intel | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| DG43GT <intel/dg43gt.md> | ||||
| DQ67SW <intel/dq67sw.md> | ||||
| KBLRVP11 <intel/kblrvp11.md> | ||||
| ``` | ||||
| - [DG43GT](intel/dg43gt.md) | ||||
| - [DQ67SW](intel/dq67sw.md) | ||||
| - [KBLRVP11](intel/kblrvp11.md) | ||||
|  | ||||
| ## Kontron | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| mAL-10 <kontron/mal10.md> | ||||
| ``` | ||||
| - [mAL-10](kontron/mal10.md) | ||||
|  | ||||
| ## Lenovo | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| Mainboard codenames <lenovo/codenames.md> | ||||
| Hardware Maintenance Manual of ThinkPads <lenovo/thinkpad_hmm.md> | ||||
| R60 <lenovo/r60.md> | ||||
| T4xx common <lenovo/t4xx_series.md> | ||||
| X2xx common <lenovo/x2xx_series.md> | ||||
| vboot <lenovo/vboot.md> | ||||
| ``` | ||||
| - [Mainboard codenames](lenovo/codenames.md) | ||||
| - [Hardware Maintenance Manual of ThinkPads](lenovo/thinkpad_hmm.md) | ||||
| - [R60](lenovo/r60.md) | ||||
| - [T4xx common](lenovo/t4xx_series.md) | ||||
| - [X2xx common](lenovo/x2xx_series.md) | ||||
| - [vboot](lenovo/vboot.md) | ||||
|  | ||||
| ### GM45 series | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| X200 / T400 / T500 / X301 common <lenovo/montevina_series.md> | ||||
| X301 <lenovo/x301.md> | ||||
| ``` | ||||
| - [X200 / T400 / T500 / X301 common](lenovo/montevina_series.md) | ||||
| - [X301](lenovo/x301.md) | ||||
|  | ||||
| ### Arrandale series | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| T410 <lenovo/t410.md> | ||||
| ``` | ||||
| - [T410](lenovo/t410.md) | ||||
|  | ||||
| ### Sandy Bridge series | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| T420 <lenovo/t420.md> | ||||
| T420 / T520 / X220 / T420s / W520 common <lenovo/Sandy_Bridge_series.md> | ||||
| X1 <lenovo/x1.md> | ||||
| ``` | ||||
| - [T420](lenovo/t420.md) | ||||
| - [T420 / T520 / X220 / T420s / W520 common](lenovo/Sandy_Bridge_series.md) | ||||
| - [X1](lenovo/x1.md) | ||||
|  | ||||
| ### Ivy Bridge series | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| T430 <lenovo/t430.md> | ||||
| T530 / W530 <lenovo/w530.md> | ||||
| T430 / T530 / X230 / W530 common <lenovo/Ivy_Bridge_series.md> | ||||
| T431s <lenovo/t431s.md> | ||||
| X230s <lenovo/x230s.md> | ||||
| Internal flashing <lenovo/ivb_internal_flashing.md> | ||||
| ``` | ||||
| - [T430](lenovo/t430.md) | ||||
| - [T530 / W530](lenovo/w530.md) | ||||
| - [T430 / T530 / X230 / W530 common](lenovo/Ivy_Bridge_series.md) | ||||
| - [T431s](lenovo/t431s.md) | ||||
| - [X230s](lenovo/x230s.md) | ||||
| - [Internal flashing](lenovo/ivb_internal_flashing.md) | ||||
|  | ||||
| ### Haswell series | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| T440p <lenovo/t440p.md> | ||||
| ``` | ||||
| - [T440p](lenovo/t440p.md) | ||||
|  | ||||
| ## Libretrend | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| LT1000 <libretrend/lt1000.md> | ||||
| ``` | ||||
| - [LT1000](libretrend/lt1000.md) | ||||
|  | ||||
| ## MSI | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| MS-7707 <msi/ms7707/ms7707.md> | ||||
| ``` | ||||
| - [MS-7707](msi/ms7707/ms7707.md) | ||||
|  | ||||
| ## OCP | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| Delta Lake <ocp/deltalake.md> | ||||
| Tioga Pass <ocp/tiogapass.md> | ||||
| ``` | ||||
| - [Delta Lake](ocp/deltalake.md) | ||||
| - [Tioga Pass](ocp/tiogapass.md) | ||||
|  | ||||
| ## Open Cellular | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| Elgon <opencellular/elgon.md> | ||||
| ``` | ||||
| - [Elgon](opencellular/elgon.md) | ||||
|  | ||||
| ## PC Engines | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| APU1 <pcengines/apu1.md> | ||||
| APU2 <pcengines/apu2.md> | ||||
| ``` | ||||
| - [APU1](pcengines/apu1.md) | ||||
| - [APU2](pcengines/apu2.md) | ||||
|  | ||||
| ## Portwell | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| PQ7-M107 <portwell/pq7-m107.md> | ||||
| ``` | ||||
| - [PQ7-M107](portwell/pq7-m107.md) | ||||
|  | ||||
| ## Prodrive | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| Hermes <prodrive/hermes.md> | ||||
| ``` | ||||
| - [Hermes](prodrive/hermes.md) | ||||
|  | ||||
| ## Purism | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| Librem 14 <purism/librem_14.md> | ||||
| Librem Mini <purism/librem_mini.md> | ||||
| ``` | ||||
| - [Librem 14](purism/librem_14.md) | ||||
| - [Librem Mini](purism/librem_mini.md) | ||||
|  | ||||
| ## Protectli | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| FW2B / FW4B <protectli/fw2b_fw4b.md> | ||||
| FW6A / FW6B / FW6C <protectli/fw6.md> | ||||
| VP2420 <protectli/vp2420.md> | ||||
| VP4630 / VP4650 / VP4670 <protectli/vp46xx.md> | ||||
| ``` | ||||
| - [FW2B / FW4B](protectli/fw2b_fw4b.md) | ||||
| - [FW6A / FW6B / FW6C](protectli/fw6.md) | ||||
| - [VP2420](protectli/vp2420.md) | ||||
| - [VP4630 / VP4650 / VP4670](protectli/vp46xx.md) | ||||
|  | ||||
| ## Roda | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| RK9 Flash Header <roda/rk9/flash_header.md> | ||||
| ``` | ||||
| - [RK9 Flash Header](roda/rk9/flash_header.md) | ||||
|  | ||||
| ## SiFive | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| SiFive HiFive Unleashed <sifive/hifive-unleashed.md> | ||||
| ``` | ||||
| - [SiFive HiFive Unleashed](sifive/hifive-unleashed.md) | ||||
|  | ||||
| ## Star Labs Systems | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| LabTop Mk III <starlabs/labtop_kbl.md> | ||||
| LabTop Mk IV <starlabs/labtop_cml.md> | ||||
| StarLite Mk III <starlabs/lite_glk.md> | ||||
| StarLite Mk IV <starlabs/lite_glkr.md> | ||||
| StarLite Mk V <starlabs/lite_adl.md> | ||||
| StarBook Mk V <starlabs/starbook_tgl.md> | ||||
| StarBook Mk VI <starlabs/starbook_adl.md> | ||||
| Flashing devices <starlabs/common/flashing.md> | ||||
| ``` | ||||
| - [LabTop Mk III](starlabs/labtop_kbl.md) | ||||
| - [LabTop Mk IV](starlabs/labtop_cml.md) | ||||
| - [StarLite Mk III](starlabs/lite_glk.md) | ||||
| - [StarLite Mk IV](starlabs/lite_glkr.md) | ||||
| - [StarBook Mk V](starlabs/starbook_tgl.md) | ||||
| - [StarBook Mk VI](starlabs/starbook_adl.md) | ||||
| - [Flashing devices](starlabs/common/flashing.md) | ||||
|  | ||||
| ## Supermicro | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| X9SAE <supermicro/x9sae.md> | ||||
| X10SLM+-F <supermicro/x10slm-f.md> | ||||
| X11 LGA1151 series <supermicro/x11-lga1151-series/x11-lga1151-series.md> | ||||
| Flashing using the BMC <supermicro/flashing_on_vendorbmc.md> | ||||
| ``` | ||||
| - [X9SAE](supermicro/x9sae.md) | ||||
| - [X10SLM+-F](supermicro/x10slm-f.md) | ||||
| - [X11 LGA1151 series](supermicro/x11-lga1151-series/x11-lga1151-series.md) | ||||
| - [Flashing using the BMC](supermicro/flashing_on_vendorbmc.md) | ||||
|  | ||||
| ## System76 | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| Adder Workstation 1 <system76/addw1.md> | ||||
| Adder Workstation 2 <system76/addw2.md> | ||||
| Adder Workstation 3 <system76/addw3.md> | ||||
| Bonobo Workstation 14 <system76/bonw14.md> | ||||
| Bonobo Workstation 15 <system76/bonw15.md> | ||||
| Darter Pro 6 <system76/darp6.md> | ||||
| Darter Pro 7 <system76/darp7.md> | ||||
| Darter Pro 8 <system76/darp8.md> | ||||
| Darter Pro 9 <system76/darp9.md> | ||||
| Galago Pro 4 <system76/galp4.md> | ||||
| Galago Pro 5 <system76/galp5.md> | ||||
| Galago Pro 6 <system76/galp6.md> | ||||
| Galago Pro 7 <system76/galp7.md> | ||||
| Gazelle 15 <system76/gaze15.md> | ||||
| Gazelle 16 <system76/gaze16.md> | ||||
| Gazelle 17 <system76/gaze17.md> | ||||
| Gazelle 18 <system76/gaze18.md> | ||||
| Lemur Pro 9 <system76/lemp9.md> | ||||
| Lemur Pro 10 <system76/lemp10.md> | ||||
| Lemur Pro 11 <system76/lemp11.md> | ||||
| Lemur Pro 12 <system76/lemp12.md> | ||||
| Oryx Pro 5 <system76/oryp5.md> | ||||
| Oryx Pro 6 <system76/oryp6.md> | ||||
| Oryx Pro 7 <system76/oryp7.md> | ||||
| Oryx Pro 8 <system76/oryp8.md> | ||||
| Oryx Pro 9 <system76/oryp9.md> | ||||
| Oryx Pro 10 <system76/oryp10.md> | ||||
| Oryx Pro 11 <system76/oryp11.md> | ||||
| Serval Workstation 13 <system76/serw13.md> | ||||
| ``` | ||||
| - [Adder Workstation 1](system76/addw1.md) | ||||
| - [Adder Workstation 2](system76/addw2.md) | ||||
| - [Adder Workstation 3](system76/addw3.md) | ||||
| - [Bonobo Workstation 14](system76/bonw14.md) | ||||
| - [Bonobo Workstation 15](system76/bonw15.md) | ||||
| - [Darter Pro 6](system76/darp6.md) | ||||
| - [Darter Pro 7](system76/darp7.md) | ||||
| - [Darter Pro 8](system76/darp8.md) | ||||
| - [Darter Pro 9](system76/darp9.md) | ||||
| - [Galago Pro 4](system76/galp4.md) | ||||
| - [Galago Pro 5](system76/galp5.md) | ||||
| - [Galago Pro 6](system76/galp6.md) | ||||
| - [Galago Pro 7](system76/galp7.md) | ||||
| - [Gazelle 15](system76/gaze15.md) | ||||
| - [Gazelle 16](system76/gaze16.md) | ||||
| - [Gazelle 17](system76/gaze17.md) | ||||
| - [Gazelle 18](system76/gaze18.md) | ||||
| - [Lemur Pro 9](system76/lemp9.md) | ||||
| - [Lemur Pro 10](system76/lemp10.md) | ||||
| - [Lemur Pro 11](system76/lemp11.md) | ||||
| - [Lemur Pro 12](system76/lemp12.md) | ||||
| - [Oryx Pro 5](system76/oryp5.md) | ||||
| - [Oryx Pro 6](system76/oryp6.md) | ||||
| - [Oryx Pro 7](system76/oryp7.md) | ||||
| - [Oryx Pro 8](system76/oryp8.md) | ||||
| - [Oryx Pro 9](system76/oryp9.md) | ||||
| - [Oryx Pro 10](system76/oryp10.md) | ||||
| - [Oryx Pro 11](system76/oryp11.md) | ||||
| - [Serval Workstation 13](system76/serw13.md) | ||||
|  | ||||
| ## Texas Instruments | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| Beaglebone Black <ti/beaglebone-black.md> | ||||
| ``` | ||||
| - [Beaglebone Black](ti/beaglebone-black.md) | ||||
|  | ||||
| ## UP | ||||
|  | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| Squared <up/squared/index.md> | ||||
| ``` | ||||
| - [Squared](up/squared/index.md) | ||||
|   | ||||
| @@ -4,7 +4,7 @@ This page describes how to run coreboot on the [Intel DG43GT] desktop. | ||||
|  | ||||
| ## Flashing coreboot | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +---------------------+------------+ | ||||
| | Type                | Value      | | ||||
| +=====================+============+ | ||||
| @@ -79,7 +79,7 @@ The layout of the header is: | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+---------------------------------------------------+ | ||||
| | Northbridge      | Intel G43 (called x4x in coreboot code)           | | ||||
| +------------------+---------------------------------------------------+ | ||||
|   | ||||
| @@ -4,7 +4,7 @@ The Intel DQ67SW is a microATX-sized desktop board for Intel Sandy Bridge CPUs. | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+--------------------------------------------------+ | ||||
| | Northbridge      | :doc:`../../northbridge/intel/sandybridge/index` | | ||||
| +------------------+--------------------------------------------------+ | ||||
| @@ -67,7 +67,7 @@ The Intel DQ67SW is a microATX-sized desktop board for Intel Sandy Bridge CPUs. | ||||
|  | ||||
| ## Flashing coreboot | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +---------------------+------------+ | ||||
| | Type                | Value      | | ||||
| +=====================+============+ | ||||
| @@ -104,7 +104,7 @@ the PCI configuration space of the LPC Interface Bridge, is set. | ||||
| It is possible to program the chip is to attach an external programmer | ||||
| with an SOIC-8 clip. | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| Another way is to boot the vendor firmware in UEFI mode and exploit the | ||||
| unpatched S3 Boot Script vulnerability. See this page for a similar procedure: | ||||
| :doc:`../lenovo/ivb_internal_flashing`. | ||||
| @@ -126,7 +126,7 @@ The boot script contains an entry that writes 0x02 to memory at address | ||||
| Interface Bridge [0][1]. The value 0x02 sets the BLE bit, and the modification | ||||
| prevents this by making it write a 0 instead. | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| After suspending and resuming the board, the BIOS region can be flashed with | ||||
| a coreboot image, e.g. using flashrom. Note that the ME region is not readable, | ||||
| so the `--noverify-all` flag is necessary. Please refer to the | ||||
|   | ||||
| @@ -23,7 +23,7 @@ | ||||
|  | ||||
| ## Flashing coreboot | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +---------------------+------------+ | ||||
| | Type                | Value      | | ||||
| +=====================+============+ | ||||
| @@ -65,7 +65,7 @@ $ flashrom -p internal --ifd -i bios -w coreboot.rom --noverify-all | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+---------------------------------------------------+ | ||||
| | CPU              | Kaby lake H (i7-7820EQ)                           | | ||||
| +------------------+---------------------------------------------------+ | ||||
|   | ||||
| @@ -6,7 +6,7 @@ processors. | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+----------------------------------+ | ||||
| | COMe Type        | mini pin-out type 10             | | ||||
| +------------------+----------------------------------+ | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| This information is valid for all supported models, except T430s, [T431s](t431s.md) and [X230s](x230s.md). | ||||
|  | ||||
| ## Flashing coreboot | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +---------------------+--------------------------------+ | ||||
| | Type                | Value                          | | ||||
| +=====================+================================+ | ||||
| @@ -37,7 +37,7 @@ This information is valid for all supported models, except T430s, [T431s](t431s. | ||||
|   exceed 4MiB in size, which means CONFIG_CBFS_SIZE must be smaller than 4MiB. | ||||
| * ROM chip size should be set to 12MiB. | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| Please also have a look at :doc:`../../tutorial/flashing_firmware/index`. | ||||
| ``` | ||||
|  | ||||
| @@ -82,7 +82,7 @@ It is possible to reduce the Intel ME firmware size to free additional | ||||
| space for the `bios` region. This is usually referred to as *cleaning the ME* or | ||||
| *stripping the ME*. | ||||
| After reducing the Intel ME firmware size you must modify the original IFD, | ||||
| [split the resulting coreboot ROM](#splitting-the-corebootrom) and then write | ||||
| [split the resulting coreboot ROM](#splitting-the-coreboot-rom) and then write | ||||
| each ROM using an [external programmer]. | ||||
| Have a look at [me_cleaner] for more information. | ||||
|  | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| # Lenovo Sandy Bridge series | ||||
|  | ||||
| ## Flashing coreboot | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +---------------------+--------------------+ | ||||
| | Type                | Value              | | ||||
| +=====================+====================+ | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| # Lenovo mainboard codenames | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| .. csv-table:: | ||||
|    :header: "Marketing name", "Development codename" | ||||
|    :file: codenames.csv | ||||
|   | ||||
| @@ -19,11 +19,7 @@ that was discovered and fixed later. | ||||
|  | ||||
| - USB drive (in case you need to downgrade BIOS) | ||||
| - Linux install that (can be) loaded in UEFI mode | ||||
| ```{toctree} | ||||
| :maxdepth: 1 | ||||
|  | ||||
| CHIPSEC <https://github.com/chipsec/chipsec> | ||||
| ``` | ||||
| - [CHIPSEC](https://github.com/chipsec/chipsec) | ||||
|  | ||||
| ## BIOS versions | ||||
|  | ||||
| @@ -31,7 +27,7 @@ Below is a table of BIOS versions that are vulnerable enough for our | ||||
| goals, per model. The version number means that you need to downgrade to | ||||
| that or earlier version. | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------+--------------+ | ||||
| | Model      | BIOS version | | ||||
| +============+==============+ | ||||
|   | ||||
| @@ -20,7 +20,7 @@ touch any other regions: | ||||
|  | ||||
| ## Installing without ME firmware | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| .. Note:: | ||||
|    **ThinkPad R500** has slightly different flash layout (it doesn't have | ||||
|    ``gbe`` region), so the process would be a little different for that model. | ||||
| @@ -46,12 +46,12 @@ Now you need to patch the flash descriptor. You can either [modify the one from | ||||
| your backup with **ifdtool**](#modifying-flash-descriptor-using-ifdtool), or | ||||
| [use one from the coreboot repository](#using-checked-in-flash-descriptor-via-bincfg). | ||||
|  | ||||
| ### Modifying flash descriptor using ifdtool | ||||
| #### Modifying flash descriptor using ifdtool | ||||
|  | ||||
| Pick the layout according to your chip size from the table below and save it to | ||||
| the `new_layout.txt` file: | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +---------------------------+---------------------------+---------------------------+ | ||||
| | 4 MiB chip                | 8 MiB chip                | 16 MiB chip               | | ||||
| +===========================+===========================+===========================+ | ||||
| @@ -88,7 +88,7 @@ $ mv flashregion_0_flashdescriptor.bin.new.new flashregion_0_flashdescriptor.bin | ||||
|  | ||||
| Continue to the [Configuring coreboot](#configuring-coreboot) section. | ||||
|  | ||||
| ### Using checked-in flash descriptor via bincfg | ||||
| #### Using checked-in flash descriptor via bincfg | ||||
|  | ||||
| There is a copy of an X200's flash descriptor checked into the coreboot | ||||
| repository. It is supposed to work for the T400/T500 as well. The descriptor | ||||
| @@ -102,7 +102,7 @@ $ make | ||||
| If your flash is not 8 MiB, you need to change values of `flcomp_density1` and | ||||
| `flreg1_limit` in the `ifd-x200.set` file according to following table: | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +-----------------+-------+-------+--------+ | ||||
| |                 | 4 MiB | 8 MiB | 16 MiB | | ||||
| +=================+=======+=======+========+ | ||||
| @@ -119,7 +119,7 @@ $ make gen-ifd-x200 | ||||
|  | ||||
| It will be saved to the `flashregion_0_fd.bin` file. | ||||
|  | ||||
| ### Configuring coreboot | ||||
| #### Configuring coreboot | ||||
|  | ||||
| Now configure coreboot. You need to select correct chip size and specify paths | ||||
| to flash descriptor and gbe dump. | ||||
| @@ -144,7 +144,7 @@ Then build coreboot and flash whole `build/coreboot.rom` to the chip. | ||||
|  | ||||
| The flash layouts of the OEM firmware are as follows: | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +---------------------------------+---------------------------------+ | ||||
| | 4 MiB chip                      | 8 MiB chip                      | | ||||
| +=================================+=================================+ | ||||
|   | ||||
| @@ -5,7 +5,7 @@ | ||||
| * TPM not working with VBOOT and C_ENV bootblock (works without C_ENV BB) | ||||
|  | ||||
| ## Flashing instructions | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +---------------------+--------------------------------+ | ||||
| | Type                | Value                          | | ||||
| +=====================+================================+ | ||||
|   | ||||
| @@ -10,7 +10,7 @@ Librebox). | ||||
| To build a minimal working coreboot image some blobs are required (assuming | ||||
| only the BIOS region is being modified). | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +-----------------+---------------------------------+---------------------+ | ||||
| | Binary file     | Apply                           | Required / Optional | | ||||
| +=================+=================================+=====================+ | ||||
| @@ -98,7 +98,7 @@ The platform contains an LR-i7S65T1 baseboard (LR-i7S65T2 with two NICs not | ||||
| sold yet). More details on [baseboard site]. Unfortunately the board manual is | ||||
| not publicly available. | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+--------------------------------------------------+ | ||||
| | CPU              | Intel Core i7-6500U                              | | ||||
| +------------------+--------------------------------------------------+ | ||||
|   | ||||
| @@ -9,7 +9,7 @@ | ||||
| * IME 7.0.4.1197 | ||||
|  | ||||
| ## Flash chip (Winbond 25Q32BV) | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +---------------------+--------------------+ | ||||
| | Type                | Value              | | ||||
| +=====================+====================+ | ||||
|   | ||||
| @@ -200,7 +200,7 @@ and [u-root] as initramfs. | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------------+---------------------------------------------+ | ||||
| | Processor (1 socket)   | Intel Cooper Lake Scalable Processor        | | ||||
| +------------------------+---------------------------------------------+ | ||||
|   | ||||
| @@ -80,7 +80,7 @@ u-root. | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------------+---------------------------------------------+ | ||||
| | Processor (2 sockets)  | Intel Skylake Scalable Processor LGA3647    | | ||||
| +------------------------+---------------------------------------------+ | ||||
|   | ||||
| @@ -9,7 +9,7 @@ from [OpenCellular]. | ||||
|  | ||||
| ## Flashing coreboot | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +---------------------+------------+ | ||||
| | Type                | Value      | | ||||
| +=====================+============+ | ||||
| @@ -69,7 +69,7 @@ Dediprog compatible pinout. | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +---------------+----------------------------------------+ | ||||
| | SoC           | :doc:`../../soc/cavium/cn81xx/index`   | | ||||
| +---------------+----------------------------------------+ | ||||
|   | ||||
| @@ -4,7 +4,7 @@ This page describes how to run coreboot on PC Engines APU1 platform. | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------+--------------------------------------------------------+ | ||||
| | CPU        | AMD G series T40E APU                                  | | ||||
| +------------+--------------------------------------------------------+ | ||||
| @@ -23,7 +23,7 @@ This page describes how to run coreboot on PC Engines APU1 platform. | ||||
|  | ||||
| ## Flashing coreboot | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +---------------------+--------------------------+ | ||||
| | Type                | Value                    | | ||||
| +=====================+==========================+ | ||||
|   | ||||
| @@ -4,7 +4,7 @@ This page describes how to run coreboot on PC Engines APU2 platform. | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------+---------------------------------------------------------------+ | ||||
| | CPU        | AMD G series GX-412TC                                         | | ||||
| +------------+---------------------------------------------------------------+ | ||||
| @@ -25,7 +25,7 @@ This page describes how to run coreboot on PC Engines APU2 platform. | ||||
|  | ||||
| To build working coreboot image some blobs are needed. | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +-----------------+---------------------------------+---------------------+ | ||||
| | Binary file     | Apply                           | Required / Optional | | ||||
| +=================+=================================+=====================+ | ||||
| @@ -41,7 +41,7 @@ blobs are listed and available is: *3rdparty/southbridge/amd/avalon/PSP* | ||||
|  | ||||
| ## Flashing coreboot | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +---------------------+--------------------------+ | ||||
| | Type                | Value                    | | ||||
| +=====================+==========================+ | ||||
|   | ||||
| @@ -61,7 +61,7 @@ serial/video/pcie ports might be available. | ||||
|  | ||||
| ## Technology | ||||
|  | ||||
| ```{eval-rst} | ||||
| ```eval_rst | ||||
| +------------------+--------------------------------------------------+ | ||||
| | SoC              | Intel Atom Processor N3710                       | | ||||
| +------------------+--------------------------------------------------+ | ||||
|   | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user