Jeremy Soller has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/39455 )
Change subject: Documentation/contributing/project_ideas.md: add resource allocation project
......................................................................
Documentation/contributing/project_ideas.md: add resource allocation project
Change-Id: I278ee622be2ab4a3d26bd5a180e7471236a828b8
---
M Documentation/contributing/project_ideas.md
1 file changed, 12 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/55/39455/1
diff --git a/Documentation/contributing/project_ideas.md b/Documentation/contributing/project_ideas.md
index 2c621f4..4198501 100644
--- a/Documentation/contributing/project_ideas.md
+++ b/Documentation/contributing/project_ideas.md
@@ -184,3 +184,15 @@
### Mentors
* TODO
+
+## Implement 64-bit resource allocation
+Currently the coreboot allocator is limited to 32-bit allocation, which can be
+problematic for systems with a large number of memory-mapped devices, or
+devices with large memory regions, or hot-pluggable buses.
+
+### Requirements
+* Understand the basics of PCI resource allocation, and be willing to learn
+ more about coreboot's resource allocation.
+
+### Mentors
+* Jeremy Soller <jeremy(a)system76.com>
--
To view, visit https://review.coreboot.org/c/coreboot/+/39455
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I278ee622be2ab4a3d26bd5a180e7471236a828b8
Gerrit-Change-Number: 39455
Gerrit-PatchSet: 1
Gerrit-Owner: Jeremy Soller <jeremy(a)system76.com>
Gerrit-MessageType: newchange
Marcello Sylvester Bauer has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/38832 )
Change subject: Documentation/ifdtool: modify IFD regions
......................................................................
Documentation/ifdtool: modify IFD regions
Add documentation about using ifdtool to modify the region rangers,
with examples.
Change-Id: I862bd851fc68365ca11aa0477ae4e4002f1eeea7
Signed-off-by: Marcello Sylvester Bauer <sylv(a)sylv.io>
---
M Documentation/ifdtool/layout.md
1 file changed, 53 insertions(+), 3 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/32/38832/1
diff --git a/Documentation/ifdtool/layout.md b/Documentation/ifdtool/layout.md
index 950db6f..c09cfaa 100644
--- a/Documentation/ifdtool/layout.md
+++ b/Documentation/ifdtool/layout.md
@@ -4,7 +4,7 @@
layout of the flash. The Intel Flash Descriptor (IFD) which defines offsets and
sizes of various regions of flash and the [coreboot FMAP](../lib/flashmap.md).
-The FMAP should define all of the of the regions defined by the IFD to ensure
+The FMAP should define all offsets of the regions defined by the IFD to ensure
that those regions are accounted for by coreboot and will not be accidentally
modified.
@@ -23,7 +23,7 @@
|4|Platform Data|SI_PDR||
|8|EC Firmware|SI_EC|Most Chrome OS devices do not use this region; EC firmware is stored BIOS region of flash|
-## Validation
+## Modification
The ifdtool can be used to manipulate a firmware image with a IFD. This tool
will not take into account the FMAP while modifying the image which can lead to
@@ -32,6 +32,56 @@
ME, then when the ME is added by the ifdtool 6 MB will be written which could
overwrite 2 MB of the BIOS.
+### Manual Modification
+
+It is possible to adjust the IFD regions on a firmware image or on a Flash Descriptor file directly.
+In the case of modifying a complete firmware image, it will also move the data content of each region.
+
+The process consists of three steps:
+ 1) dump the ifd layout file out of the firmware/descriptor image
+ 2) modify the ifd region defined on the layout file
+ 3) update the firmware/descriptor image using the new layout
+
+#### Example - Reduce the ME Region size
+
+##### Step 1 - Dump IFD regions into a flashrom layout file
+ $ ifdtool -f ifd_old.layout descriptor.bin
+ Wrote layout to ifd-old.layout
+
+ $ cat ifd_old.layout
+ 00000000:00000fff fd
+ 00500000:007fffff bios
+ 00003000:004fffff me
+ 00001000:00002fff gbe
+
+##### Step 2 - Modify the layout file
+ $ diff ifd_old.layout ifd_new.layout
+ 2,3c2,3
+ < 00500000:007fffff bios
+ < 00003000:004fffff me
+ ---
+ > 00020000:007fffff bios
+ > 00003000:0001ffff me
+
+##### Step 3 - Update the IFD regions
+ $ ifdtool -n ifd_new.layout descriptor.bin
+ [...]
+ Writing new image to descriptor.bin.new
+
+### build-time Modification
+
+Instead of using the the ifdtool directly, it is possible to define a flashrom layout file in the
+coreboot configuration, so that it will be modified at build-time.
+
+ $ make menuconfig
+ Chipset --->
+ [*] Add Intel descriptor.bin file
+ (path/to/descriptor.bin) Path and filename of the descriptor.bin file
+ [*] update regions using a flashrom layout file
+ (path/to/ifd.layout) Path and filename flashrom layout file
+
+## Validation
+
In order to validate that the FMAP and the IFD are compatible the ifdtool
provides --validate (-t) option. `ifdtool -t` will read both the IFD and the
FMAP in the image and for every non empty region in the IFD if that region is
@@ -63,4 +113,4 @@
FMAP area SI_PDR:
offset: 0x007fc000
length: 0x00004000
-```
\ No newline at end of file
+```
--
To view, visit https://review.coreboot.org/c/coreboot/+/38832
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I862bd851fc68365ca11aa0477ae4e4002f1eeea7
Gerrit-Change-Number: 38832
Gerrit-PatchSet: 1
Gerrit-Owner: Marcello Sylvester Bauer <sylv(a)sylv.io>
Gerrit-MessageType: newchange
Pavel Sayekat has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/35011 )
Change subject: Doc/mb/asus: Add H110M-E/M.2 Documentation
......................................................................
Doc/mb/asus: Add H110M-E/M.2 Documentation
Followed and adapted from the ASRock H110M-DVS Documentation
Signed-off-by: Pavel Sayekat <pavelsayekat(a)gmail.com>
Change-Id: I6c5aad50b513935eab70b502df1d95fb3413fa6b
---
A Documentation/mainboard/asus/h110m-e_m2.md
1 file changed, 136 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/11/35011/1
diff --git a/Documentation/mainboard/asus/h110m-e_m2.md b/Documentation/mainboard/asus/h110m-e_m2.md
new file mode 100644
index 0000000..134dca8
--- /dev/null
+++ b/Documentation/mainboard/asus/h110m-e_m2.md
@@ -0,0 +1,136 @@
+# ASUS H110M-E/M.2
+
+This page describes how to run coreboot on the [ASUS H110M-E/M.2].
+
+## Required proprietary blobs
+
+Mainboard is based on Intel Skylake/Kaby Lake processor and H110 Chipset.
+Intel company provides [Firmware Support Package (2.0)](../../soc/intel/fsp/index.md)
+(intel FSP 2.0) to initialize this generation silicon. Please see this
+[document](../../soc/intel/code_development_model/code_development_model.md).
+
+FSP Information:
+
+```eval_rst
++-----------------------------+-------------------+-------------------+
+| FSP Project Name | Directory | Specification |
++-----------------------------+-------------------+-------------------+
+| 7th Generation Intel® Core™ | KabylakeFspBinPkg | 2.0 |
+| processors and chipsets | | |
+| (formerly Kaby Lake) | | |
++-----------------------------+-------------------+-------------------+
+```
+
+## Building coreboot
+
+The following steps set the default parameters for this board to build a
+fully working image:
+
+```bash
+make distclean
+touch .config
+./util/scripts/config --enable VENDOR_ASUS
+./util/scripts/config --enable BOARD_ASUS_H110M_E_M2
+./util/scripts/config --enable CONFIG_ADD_FSP_BINARIES
+./util/scripts/config --enable CONFIG_FSP_USE_REPO
+./util/scripts/config --set-str REALTEK_8168_MACADDRESS "xx:xx:xx:xx:xx:xx"
+make olddefconfig
+```
+
+However, it is strongly advised to use `make menuconfig` afterwards
+(or instead), so that you can see all of the settings.
+
+Use the following command to disable the serial console if debugging
+output is not required:
+
+```bash
+./util/scripts/config --disable CONSOLE_SERIAL
+```
+
+However, a more flexible method is to change the console log level from
+within an OS using `util/nvramtool`, or with the `nvramcui` payload.
+
+Now, run `make` to build the coreboot image.
+
+## Flashing coreboot
+
+### Internal programming
+
+The main SPI flash can be accessed using [flashrom]. By default, only
+the BIOS region of the flash is writable. If you wish to change any
+other region, such as the Management Engine or firmware descriptor, then
+an external programmer is required (unless you find a clever way around
+the flash protection). More information about this [here](../../flash_tutorial/index.md).
+
+### External programming
+
+The flash chip is a 16 MiB socketed DIP-8 chip. Specifically, it's a
+GIgaDevice GD25B128CPIG, whose datasheet can be found [here][GD25B128CPIG].
+The chip is located to the bottom right-hand side of the board. For
+a precise location, refer to section 1.3 (Motherboard Layout) of the
+[H110M-E/M.2 manual], where the chip is labelled "128Mb BIOS". Take note of
+the chip's orientation, remove it from its socket, and flash it with
+an external programmer. For reference, the notch in the chip should be
+facing towards the bottom of the board.
+
+## Known issues
+
+- The VGA port doesn't work. Discrete graphic card is used as primary
+ device for display output (if CONFIG_ONBOARD_VGA_IS_PRIMARY is not
+ set). Dynamic switching between iGPU and PEG is not yet supported.
+
+- SuperIO GPIO pin is used to reset Realtek chip. However, since the
+ Logical Device 7 (GPIO7, GPIO8) is not initialized, the network
+ chip is in a reset state all the time.
+
+## Untested
+
+- parallel port
+- PS/2 keyboard
+- PS/2 mouse
+- EHCI debug
+- TPM
+- infrared module
+- chassis intrusion header
+- chassis speaker header
+
+## Working
+
+- integrated graphics init with libgfxinit (see [Known issues](#known-issues))
+- PCIe x1
+- PEG x16 Gen3
+- SATA
+- USB
+- serial port
+- onboard audio
+- using `me_cleaner`
+- using `flashrom`
+
+## TODO
+
+- NCT5539D GPIOs
+- onboard network (see [Known issues](#known-issues))
+- S3 suspend/resume
+- Wake-on-LAN
+- hardware monitor
+
+## Technology
+
+```eval_rst
++------------------+--------------------------------------------------+
+| CPU | Intel Skylake/Kaby Lake (LGA1151) |
++------------------+--------------------------------------------------+
+| PCH | Intel Sunrise Point H110 |
++------------------+--------------------------------------------------+
+| Super I/O | Nuvoton NCT5539D |
++------------------+--------------------------------------------------+
+| EC | None |
++------------------+--------------------------------------------------+
+| Coprocessor | Intel Management Engine |
++------------------+--------------------------------------------------+
+```
+
+[ASUS H110M-E/M.2]: https://www.asus.com/Motherboards/H110M-E-M-2/overview/
+[GD25B128CPIG]: https://www.gigadevice.com/datasheet/gd25b127d/ [The closest match found]
+[flashrom]: https://flashrom.org/Flashrom
+[ASUS H110M-E/M.2 manual]: https://dlcdnets.asus.com/pub/ASUS/mb/LGA1151/H110M-E_M2/E11622_H110M-E_M2_…
--
To view, visit https://review.coreboot.org/c/coreboot/+/35011
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I6c5aad50b513935eab70b502df1d95fb3413fa6b
Gerrit-Change-Number: 35011
Gerrit-PatchSet: 1
Gerrit-Owner: Pavel Sayekat
Gerrit-MessageType: newchange