Go to file
California Sullivan 678db6436e linux-yocto/4.4: Bump to 4.4.18 and update cache for tool changes
From linux-yocto-4.4:

286f04b drm/i915: Fix i915 merge with v4.4.16
f8050fe Merge branch 'standard/base' into standard/intel/base
0a0c93f Merge tag 'v4.4.18' into standard/base
630333d Merge branch 'standard/base' into standard/intel/base
7b4979e Merge tag 'v4.4.17' into standard/base
e488427 Linux 4.4.18
eccccb4 mm: memcontrol: fix memcg id ref counter on swap charge move
a0fddee mm: memcontrol: fix swap counter leak on swapout from offline cgroup
8627c77 mm: memcontrol: fix cgroup creation failure after many small jobs
3a22cf0 ext4: fix reference counting bug on block allocation error
db82c74 ext4: short-cut orphan cleanup on error
f8d4d52 ext4: validate s_reserved_gdt_blocks on mount
175f36c ext4: don't call ext4_should_journal_data() on the journal inode
5a7f477 ext4: fix deadlock during page writeback
9e38db2 ext4: check for extents that wrap around
08bb036 crypto: scatterwalk - Fix test in scatterwalk_done
148fbb9 crypto: gcm - Filter out async ghash if necessary
92f7133 fs/dcache.c: avoid soft-lockup in dput()
b6e0a21 fuse: fix wrong assignment of ->flags in fuse_send_init()
9ca5f11 fuse: fuse_flush must check mapping->flags for errors
3d1c64d fuse: fsync() did not return IO errors
62659f0 sysv, ipc: fix security-layer leaking
9a95c0c block: fix use-after-free in seq file
3cde0e7 x86/syscalls/64: Add compat_sys_keyctl for 32-bit userspace
821d5e6 drm/i915: Pretend cursor is always on for ILK-style WM calculations (v2)
fb93281 x86/mm/pat: Fix BUG_ON() in mmap_mem() on QEMU/i386
e270fdc x86/pat: Document the PAT initialization sequence
26b340e x86/xen, pat: Remove PAT table init code from Xen
a23b299 x86/mtrr: Fix PAT init handling when MTRR is disabled
594055c x86/mtrr: Fix Xorg crashes in Qemu sessions
32c8542 x86/mm/pat: Replace cpu_has_pat with boot_cpu_has()
d50e8b1 x86/mm/pat: Add pat_disable() interface
8f5b821 x86/mm/pat: Add support of non-default PAT MSR setting
5c7d0f4 devpts: clean up interface to pty drivers
93f84c8 random: strengthen input validation for RNDADDTOENTCNT
6090bfb apparmor: fix ref count leak when profile sha1 hash is read
4cf8f0b Revert "s390/kdump: Clear subchannel ID to signal non-CCW/SCSI IPL"
cca36a7 KEYS: 64-bit MIPS needs to use compat_sys_keyctl for 32-bit userspace
0107ea0 arm: oabi compat: add missing access checks
66e5d7b cdc_ncm: do not call usbnet_link_change from cdc_ncm_bind
3088903 i2c: i801: Allow ACPI SystemIO OpRegion to conflict with PCI BAR
979a61a x86/mm/32: Enable full randomization on i386 and X86_32
6e12424 HID: sony: do not bail out when the sixaxis refuses the output report
d71d4ac PNP: Add Broadwell to Intel MCH size workaround
02170f4 PNP: Add Haswell-ULT to Intel MCH size workaround
5a6f9d0 scsi: ignore errors from scsi_dh_add_device()
694dfd0 ipath: Restrict use of the write() interface
9c946c9 tcp: consider recv buf for the initial window scale
e23696b qed: Fix setting/clearing bit in completion bitmap
fc9b7c0 net/irda: fix NULL pointer dereference on memory allocation failure
863c8bb net: bgmac: Fix infinite loop in bgmac_dma_tx_add()
0020fa5 bonding: set carrier off for devices created through netlink
a9c2218 ipv4: reject RTNH_F_DEAD and RTNH_F_LINKDOWN from user space
5413f1a tcp: enable per-socket rate limiting of all 'challenge acks'
72c2d3b tcp: make challenge acks less predictable
133cec9 Linux 4.4.17
8e510cd vfs: fix deadlock in file_remove_privs() on overlayfs
33f9cff intel_th: Fix a deadlock in modprobing
c800964 intel_th: pci: Add Kaby Lake PCH-H support
703cfaf net: mvneta: set real interrupt per packet for tx_done
032951d libceph: apply new_state before new_up_client on incrementals
79cc80f libata: LITE-ON CX1-JB256-HP needs lower max_sectors
1b0b5ca i2c: mux: reg: wrong condition checked for of_address_to_resource return value
470f47f posix_cpu_timer: Exit early when process has been reaped
d863bec media: fix airspy usb probe error path
8727178 ipr: Clear interrupt on croc/crocodile when running with LSI
c4c2a8f SCSI: fix new bug in scsi_dev_info_list string matching
b3a061d RDS: fix rds_tcp_init() error path
d9e1886 can: fix oops caused by wrong rtnl dellink usage
8648445 can: fix handling of unmodifiable configuration options fix
1cee72e can: c_can: Update D_CAN TX and RX functions to 32 bit - fix Altera Cyclone access
63b9e0f can: at91_can: RX queue could get stuck at high bus load
b4fedbe perf/x86: fix PEBS issues on Intel Atom/Core2
b82c789 ovl: handle ATTR_KILL*
34bf123 sched/fair: Fix effective_load() to consistently use smoothed load
d29e5fa mmc: block: fix packed command header endianness
5161144 block: fix use-after-free in sys_ioprio_get()
b782756 qeth: delete napi struct when removing a qeth device
69ca969 platform/chrome: cros_ec_dev - double fetch bug in ioctl
68f9903 clk: rockchip: initialize flags of clk_init_data in mmc-phase clock
9162d29 spi: sun4i: fix FIFO limit
873b6e3 spi: sunxi: fix transfer timeout
df582d4 namespace: update event counter when umounting a deleted dentry
7d9f345 9p: use file_dentry()
26015f0 ext4: verify extent header depth
ed5c955 ecryptfs: don't allow mmap when the lower fs doesn't support it
ae159a0 Revert "ecryptfs: forbid opening files without mmap handler"
a3bdfa7 locks: use file_inode()
acbda59 power_supply: power_supply_read_temp only if use_cnt > 0
75d6026 cgroup: set css->id to -1 during init
8f808f1 pinctrl: imx: Do not treat a PIN without MUX register as an error
6701df3 pinctrl: single: Fix missing flush of posted write for a wakeirq
ca34558 pvclock: Add CPU barriers to get correct version value
aab045e Input: tsc200x - report proper input_dev name
c2e5023 Input: xpad - validate USB endpoint count during probe
1dbdba6 Input: wacom_w8001 - w8001_MAX_LENGTH should be 13
526410b Input: xpad - fix oops when attaching an unknown Xbox One gamepad
4bc4767 Input: elantech - add more IC body types to the list
12a83f6 Input: vmmouse - remove port reservation
8fd58e0 ALSA: timer: Fix leak in events via snd_timer_user_tinterrupt
3e6af33 ALSA: timer: Fix leak in events via snd_timer_user_ccallback
90bed82 ALSA: timer: Fix leak in SNDRV_TIMER_IOCTL_PARAMS
ee8b7ff xenbus: don't bail early from xenbus_dev_request_and_reply()
d1e6344 xenbus: don't BUG() on user mode induced condition
66af423 xen/pciback: Fix conf_space read/write overlap check.
6bce4d0 ARC: unwind: ensure that .debug_frame is generated (vs. .eh_frame)
e0bc4e7 arc: unwind: warn only once if DW2_UNWIND is disabled
dc20f32 kernel/sysrq, watchdog, sched/core: Reset watchdog on all CPUs while processing sysrq-w
78edebc pps: do not crash when failed to register
f2e7c1f vmlinux.lds: account for destructor sections
becdfa3 mm, meminit: ensure node is online before checking whether pages are uninitialised
e534d92 mm, meminit: always return a valid node from early_pfn_to_nid
41a3b3c mm, compaction: prevent VM_BUG_ON when terminating freeing scanner
d32978b fs/nilfs2: fix potential underflow in call to crc32_le
21e9f89 mm, compaction: abort free scanner if split fails
5b3114b mm, sl[au]b: add __GFP_ATOMIC to the GFP reclaim mask
6b373d5 dmaengine: at_xdmac: double FIFO flush needed to compute residue
5ce7333 dmaengine: at_xdmac: fix residue corruption
1b60fcd dmaengine: at_xdmac: align descriptors on 64 bits
ba1eebc x86/quirks: Add early quirk to reset Apple AirPort card
dd4eb74 x86/quirks: Reintroduce scanning of secondary buses
bab5a36 x86/quirks: Apply nvidia_bugs quirk only on root bus
2053f7d USB: OHCI: Don't mark EDs as ED_OPER if scheduling fails
17fc71c Merge branch 'standard/base' into standard/intel/base
f5e2c49 Merge tag 'v4.4.16' into standard/base
b05965f Linux 4.4.16
dbf72a4 ovl: verify upper dentry before unlink and rename
38da63e drm/i915: Revert DisplayPort fast link training feature
8fc8232 tmpfs: fix regression hang in fallocate undo
1d3255b tmpfs: don't undo fallocate past its last page
d6317d7 crypto: qat - make qat_asym_algs.o depend on asn1 headers
32d1067 xen/acpi: allow xen-acpi-processor driver to load on Xen 4.7
12f2f04 File names with trailing period or space need special case conversion
1422b6b cifs: dynamic allocation of ntlmssp blob
4ce7aa4 Fix reconnect to not defer smb3 session reconnect long after socket reconnect
ddbe16b 53c700: fix BUG on untagged commands
333e71c s390: fix test_fp_ctl inline assembly contraints
273e129 scsi: fix race between simultaneous decrements of ->host_failed
cf2a2c6 ovl: verify upper dentry in ovl_remove_and_whiteout()
c12dada ovl: Copy up underlying inode's ->i_mode to overlay inode
e9a2ce2 ARM: mvebu: fix HW I/O coherency related deadlocks
e4ad472 ARM: dts: armada-38x: fix MBUS_ID for crypto SRAM on Armada 385 Linksys
bec5862 ARM: sunxi/dt: make the CHIP inherit from allwinner,sun5i-a13
0e6092c ALSA: hda: add AMD Stoney PCI ID with proper driver caps
d5c1296 ALSA: hda - fix use-after-free after module unload
f4ccc29 ALSA: ctl: Stop notification after disconnection
180cb74 ALSA: pcm: Free chmap at PCM free callback, too
248bfcb ALSA: hda/realtek - add new pin definition in alc225 pin quirk table
db931e3 ALSA: hda - fix read before array start
6d9b337 ALSA: hda - Add PCI ID for Kabylake-H
3bfe8c5 ALSA: hda/realtek: Add Lenovo L460 to docking unit fixup
547d982 ALSA: timer: Fix negative queue usage by racy accesses
02a49fd ALSA: echoaudio: Fix memory allocation
0287f63 ALSA: au88x0: Fix calculation in vortex_wtdma_bufshift()
6ddd404 ALSA: hda / realtek - add two more Thinkpad IDs (5050,5053) for tpt460 fixup
7b939db ALSA: hda - Fix the headset mic jack detection on Dell machine
5a2c82f ALSA: dummy: Fix a use-after-free at closing
3bb6a51 hwmon: (dell-smm) Cache fan_type() calls and change fan detection
9a3d983 hwmon: (dell-smm) Disallow fan_type() calls on broken machines
5c41821 hwmon: (dell-smm) Restrict fan control and serial number to CAP_SYS_ADMIN by default
7d091e0 tty/vt/keyboard: fix OOB access in do_compute_shiftstate()
97c96c4 tty: vt: Fix soft lockup in fbcon cursor blink timer.
994b91f iio:ad7266: Fix probe deferral for vref
aa68652 iio:ad7266: Fix support for optional regulators
ad4dea6 iio:ad7266: Fix broken regulator error handling
ebd052e iio: accel: kxsd9: fix the usage of spi_w8r8()
601818b staging: iio: accel: fix error check
784108d iio: hudmidity: hdc100x: fix incorrect shifting and scaling
d2be6f6 iio: humidity: hdc100x: fix IIO_TEMP channel reporting
f7ba3de iio: humidity: hdc100x: correct humidity integration time mask
c00a498 iio: proximity: as3935: fix buffer stack trashing
cd4a799 iio: proximity: as3935: remove triggered buffer processing
97eabb3 iio: proximity: as3935: correct IIO_CHAN_INFO_RAW output
c3aeba8 iio: light apds9960: Add the missing dev.parent
923f209 iio:st_pressure: fix sampling gains (bring inline with ABI)
dda5d00 iio: Fix error handling in iio_trigger_attach_poll_func
fe29254 xen/balloon: Fix declared-but-not-defined warning
e73be16 perf/x86: Fix undefined shift on 32-bit kernels
5f9e970 memory: omap-gpmc: Fix omap gpmc EXTRADELAY timing
ed71c68 drm/vmwgfx: Fix error paths when mapping framebuffer
82c882c drm/vmwgfx: Delay pinning fbdev framebuffer until after mode set
e587d4e drm/vmwgfx: Check pin count before attempting to move a buffer
b40c9ac drm/vmwgfx: Work around mode set failure in 2D VMs
a216ed8 drm/vmwgfx: Add an option to change assumed FB bpp
6c42c30 drm/ttm: Make ttm_bo_mem_compat available
c6a2cb3 drm: atmel-hlcdc: actually disable scaling when no scaling is required
f956468 drm: make drm_atomic_set_mode_prop_for_crtc() more reliable
ec00d4d drm: add missing drm_mode_set_crtcinfo call
86383e4 drm/i915: Update CDCLK_FREQ register on BDW after changing cdclk frequency
edc185a drm/i915: Update ifdeffery for mutex->owner
3ea2a7e drm/i915: Refresh cached DP port register value on resume
b17d254 drm/i915/ilk: Don't disable SSC source if it's in use
4b69c00 drm/nouveau/disp/sor/gf119: select correct sor when poking training pattern
15dc6a4 drm/nouveau: fix for disabled fbdev emulation
fbf9b54 drm/nouveau/fbcon: fix out-of-bounds memory accesses
c8c3b35 drm/nouveau/gr/gf100-: update sm error decoding from gk20a nvgpu headers
921daff drm/nouveau/disp/sor/gf119: both links use the same training register
7233bb8 virtio_balloon: fix PFN format for virtio-1
b752a27 drm/dp/mst: Always clear proposed vcpi table for port.
83a6e52 drm/amdkfd: destroy dbgmgr in notifier release
cf2e806 drm/amdkfd: unbind only existing processes
ca8a32b ubi: Make recover_peb power cut aware
69eab50 drm/amdgpu/gfx7: fix broken condition check
bc326bf drm/radeon: fix asic initialization for virtualized environments
13226e1 btrfs: account for non-CoW'd blocks in btrfs_abort_transaction
3bb1138 percpu: fix synchronization between synchronous map extension and chunk destruction
c26ae53 percpu: fix synchronization between chunk->map_extend_work and chunk destruction
0da3127 af_unix: fix hard linked sockets on overlay
c651707 vfs: add d_real_inode() helper
cff5b23 arm64: Rework valid_user_regs
de0f9fa ipmi: Remove smi_msg from waiting_rcv_msgs list before handle_one_recv_msg()
084ad7f drm/mgag200: Black screen fix for G200e rev 4
e205592 iommu/amd: Fix unity mapping initialization race
72803a7 iommu/vt-d: Enable QI on all IOMMUs before setting root entry
c9566f6 iommu/arm-smmu: Wire up map_sg for arm-smmu-v3
c705db2 base: make module_create_drivers_dir race-free
bc64a83 tracing: Handle NULL formats in hold_module_trace_bprintk_format()
2f839c9 HID: multitouch: enable palm rejection for Windows Precision Touchpad
300851f HID: hiddev: validate num_values for HIDIOCGUSAGES, HIDIOCSUSAGES commands
2d7a2ff HID: elo: kill not flush the work
44dd5ce KVM: nVMX: VMX instructions: fix segment checks when L1 is in long mode.
54f87e1 kvm: Fix irq route entries exceeding KVM_MAX_IRQ_ROUTES
398051f KEYS: potential uninitialized variable
fb4d339 ARCv2: LLSC: software backoff is NOT needed starting HS2.1c
f06a5a0 ARCv2: Check for LL-SC livelock only if LLSC is enabled
9c458a86 ipv6: Fix mem leak in rt6i_pcpu
61f602d cdc_ncm: workaround for EM7455 "silent" data interface
2832302 net_sched: fix mirrored packets checksum
424848b packet: Use symmetric hash for PACKET_FANOUT_HASH.
43b1bfe sched/fair: Fix cfs_rq avg tracking underflow
1e1f4ff UBIFS: Implement ->migratepage()
4b1cb3c mm: Export migrate_page_move_mapping and migrate_page_copy
7ad2602 MIPS: KVM: Fix modular KVM under QEMU
490a71c ARM: 8579/1: mm: Fix definition of pmd_mknotpresent
54cf0dd ARM: 8578/1: mm: ensure pmd_present only checks the valid bit
91ac738 ARM: imx6ul: Fix Micrel PHY mask
b5d4a79 NFS: Fix another OPEN_DOWNGRADE bug
44d86db make nfs_atomic_open() call d_drop() on all ->open_context() errors.
412cfee nfsd: check permissions when setting ACLs
c3fa141 posix_acl: Add set_posix_acl
f78ffdc nfsd: Extend the mutex holding region around in nfsd4_process_open2()
087f8fe nfsd: Always lock state exclusively.
58e9e70 nfsd4/rpc: move backchannel create logic into rpc code
400850b writeback: use higher precision calculation in domain_dirty_limits()
a519bfe thermal: cpu_cooling: fix improper order during initialization
f77ea5c uvc: Forward compat ioctls to their handlers directly
93f25db Revert "gpiolib: Split GPIO flags parsing and GPIO configuration"
d9c5952 x86/amd_nb: Fix boot crash on non-AMD systems
66af3f6 kprobes/x86: Clear TF bit in fault on single-stepping
f7acd40 x86, build: copy ldlinux.c32 to image.iso
71ef2c1 locking/static_key: Fix concurrent static_key_slow_inc()
a39e660 locking/qspinlock: Fix spin_unlock_wait() some more
c7f47e5 locking/ww_mutex: Report recursive ww_mutex locking early
c5f2e83 of: irq: fix of_irq_get[_byname]() kernel-doc
6d58954 of: fix autoloading due to broken modalias with no 'compatible'
a400a79 mnt: If fs_fully_visible fails call put_filesystem.
6256d2f mnt: Account for MS_RDONLY in fs_fully_visible
57eb6e3 mnt: fs_fully_visible test the proper mount for MNT_LOCKED
67799eb usb: common: otg-fsm: add license to usb-otg-fsm
7577b85 USB: EHCI: declare hostpc register as zero-length array
7b74d56 usb: dwc2: fix regression on big-endian PowerPC/ARM systems
5a35d2f powerpc/tm: Always reclaim in start_thread() for exec() class syscalls
044af1b powerpc/pseries: Fix IBM_ARCH_VEC_NRCORES_OFFSET since POWER8NVL was added
3abd809 powerpc/pseries: Fix PCI config address for DDW
6bd26f4 powerpc/iommu: Remove the dependency on EEH struct in DDW mechanism
75012a8 IB/mlx4: Properly initialize GRH TClass and FlowLabel in AHs
abb24ac IB/cm: Fix a recently introduced locking bug
7bf5060 EDAC, sb_edac: Fix rank lookup on Broadwell
96d50ac mac80211: Fix mesh estab_plinks counting in STA removal case
43e319d mac80211_hwsim: Add missing check for HWSIM_ATTR_SIGNAL
7b90e04 mac80211: mesh: flush mesh paths unconditionally
9dcbb4d mac80211: fix fast_tx header alignment

From yocto-kernel-cache:

6a12efc features: Fix dependencies and =m vs =y discrepancies for corei7
a4a1b81 intel-core2-32.cfg: Explicitly disable CONFIG_64BIT
c2559fd kernel-cache: add the computestick-preempt-rt config
dab902b features: Create mfd-intel-lpss feature and use where appropriate
4766069 features/iio: Set IIO_BUFFER_CB to =m instead of =y
aa50285 features: Add 6lowpan feature and add it where necessary
917becb kver: bump to v4.4.18
b030d96 rt: remove () from patch names
c8232a3 Enable BQ 25890 IC for broxton.
86bf91f 4.4: update to -rt19 patches

Signed-off-by: California Sullivan <california.l.sullivan@intel.com>
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
2016-08-24 17:55:20 -05:00
classes rmc: Add recipe and bbclass for RMC feature 2016-08-03 17:37:41 -05:00
common linux-yocto/4.4: Bump to 4.4.18 and update cache for tool changes 2016-08-24 17:55:20 -05:00
conf rmc: Add recipe and bbclass for RMC feature 2016-08-03 17:37:41 -05:00
documentation/rmc rmc: Add NUC Gen 6 post-installation hook and update documentation 2016-08-03 17:43:18 -05:00
meta-isg meta-crystalforest: removing corpus files 2016-08-15 11:13:07 -05:00
meta-tlk tlk: layer.conf: Add proper dependency and priority 2016-03-29 12:11:28 -07:00
scripts/lib/wic/canned-wks quark: Support direct-boot image for USB storage media 2016-07-28 12:09:25 -05:00
MAINTAINERS meta-crystalforest: relocate meta-crystalforest layer into meta-isg layer 2015-10-02 08:15:43 -07:00
README quark: Support direct-boot image for USB storage media 2016-07-28 12:09:25 -05:00
README.sources README.sources: New file 2016-04-29 07:15:34 -07:00

meta-intel
==========

This README file contains information on building and booting
meta-intel BSP layers.  Please see the corresponding sections below
for details.


Yocto Project Compatible
========================

The BSPs contained in this layer are compatible with the Yocto Project
as per the requirements listed here:

  https://www.yoctoproject.org/webform/yocto-project-compatible-registration


Dependencies
============

This layer depends on:

  URI: git://git.openembedded.org/bitbake
  branch: master

  URI: git://git.openembedded.org/openembedded-core
  layers: meta
  branch: master

  URI: git://git.yoctoproject.org/meta-intel
  layers: intel
  branch: master


Table of Contents
=================

  I. Overview
  II. Building and booting meta-intel BSP layers
     a. Building the intel-common and quark BSP layers
     b. Booting the intel-common BSP images
     c. Booting the intel-quark BSP image on a Galileo board
  III. Technical Miscellany
     The intel-common kernel package architecture
     Intel-specific machine features
  IV. Tested Hardware
  V.  Guidelines for submitting patches


I. Overview
===========

This is the location for Intel-maintained BSPs.

For details on the intel-common and intel-quark BSPs, see the
information below.

For all others, please see the README files contained in the
individual BSP layers for BSP-specific information.

If you have problems with or questions about a particular BSP, please
contact the maintainer listed in the MAINTAINERS file directly (cc:ing
the Yocto mailing list puts it in the archive and helps other people
who might have the same questions in the future), but please try to do
the following first:

  - look in the Yocto Project Bugzilla
    (http://bugzilla.yoctoproject.org/) to see if a problem has
    already been reported

  - look through recent entries of the meta-intel
    (https://lists.yoctoproject.org/pipermail/meta-intel/) and Yocto
    (https://lists.yoctoproject.org/pipermail/yocto/) mailing list
    archives to see if other people have run into similar problems or
    had similar questions answered.

If you believe you have encountered a bug, you can open a new bug and
enter the details in the Yocto Project Bugzilla
(http://bugzilla.yoctoproject.org/).  If you're relatively certain
that it's a bug against the BSP itself, please use the 'Yocto Project
Components: BSPs | meta-intel' category for the bug; otherwise, please
submit the bug against the most likely category for the problem - if
you're wrong, it's not a big deal and the bug will be recategorized
upon triage.


II. Building and booting meta-intel BSP layers
==============================================

The following sections contain information on building and booting the
BSPs contained in the meta-intel layer.

Note that these instructions specifically cover the intel-common and
quark BSPs, which may or may not be applicable to other BSPs contained
in this layer - if a given BSP contains its own README, that version
should be used instead, and these instructions can be ignored.

a. Building the intel-common and quark BSP layers
-------------------------------------------------

In order to build an image with BSP support for a given release, you
need to download the corresponding BSP tarball from the 'Board Support
Package (BSP) Downloads' page of the Yocto Project website (or
equivalently, check out the appropriate branch from the meta-intel git
repository, see below).  For the intel-common and quark BSPs, those
tarballs would correspond to the following choices in the BSP
downloads section:

 - Intel-core2-32 Intel® Common Core BSP (Intel-core2-32)
 - Intel-core2-32 Intel® Common Core BSP (Intel-quark)
 - Intel-corei7-64 Intel® Common Core BSP (Intel-corei7-64)

The intel-* BSPs, also known as the intel-common BSPs, provide a few
carefully selected tune options and generic hardware support to cover
the majority of current Intel CPUs and devices. The naming follows the
convention of intel-<TUNE>-<BITS>, where TUNE is the gcc cpu-type
(used with mtune and march typically) and BITS is either 32 bit or 64
bit.

Having done that, and assuming you extracted the BSP tarball contents
at the top-level of your yocto build tree, you can build a BSP image
by adding the location of the meta-intel layer to bblayers.conf e.g.:

  yocto/meta-intel \

To enable a particular machine, you need to add a MACHINE line naming
the BSP to the local.conf file:

  MACHINE ?= "xxx"

where 'xxx' is replaced by one of the following BSP names:

 - intel-core2-32

   This BSP is optimized for the Core2 family of CPUs as well as all
   Atom CPUs prior to the Silvermont core.

 - intel-corei7-64

   This BSP is optimized for Nehalem and later Core and Xeon CPUs as
   well as Silvermont and later Atom CPUs, such as the Baytrail SoCs.

 - intel-quark

   This BSP is optimized for Quark-based systems.

You should then be able to build an image as such:

  $ source oe-init-build-env
  $ bitbake core-image-sato

At the end of a successful build, you should have a live image that
you can boot from a USB flash drive (see instructions on how to do
that below, in the section 'Booting the intel-common BSP images').

As an alternative to downloading the BSP tarball, you can also work
directly from the meta-intel git repository.  For each BSP in the
'meta-intel' repository, there are multiple branches, one
corresponding to each major release starting with 'laverne' (0.90), in
addition to the latest code which tracks the current master (note that
not all BSPs are present in every release).  Instead of extracting
a BSP tarball at the top level of your yocto build tree, you can
equivalently check out the appropriate branch from the meta-intel
repository at the same location.

b. Booting the intel-common BSP images
--------------------------------------

If you downloaded the BSP tarball, you will find bootable images in
the /binary directory.  If you've built your own image, either from
the downloaded BSP layer or from the meta-intel git repository, you'll
find the bootable image in the build/tmp/deploy/images/xxx directory,
where again 'xxx' refers to the machine name used in the build.

The BSP /binary directory or build contains bootable live images,
which can be used to directly boot Yocto off of a USB flash drive.

Under Linux, insert a USB flash drive.  Assuming the USB flash drive
takes device /dev/sdf, use dd to copy the live image to it.  For
example:

# dd if=core-image-sato-intel-corei7-64.hddimg of=/dev/sdf
# sync
# eject /dev/sdf

This should give you a bootable USB flash device.  Insert the device
into a bootable USB socket on the target, and power on.  This should
result in a system booted to the Sato graphical desktop.

If you want a terminal, use the arrows at the top of the UI to move to
different pages of available applications, one of which is named
'Terminal'.  Clicking that should give you a root terminal.

If you want to ssh into the system, you can use the root terminal to
ifconfig the IP address and use that to ssh in.  The root password is
empty, so to log in type 'root' for the user name and hit 'Enter' at
the Password prompt: and you should be in.

If you find you're getting corrupt images on the USB (it doesn't show
the syslinux boot: prompt, or the boot: prompt contains strange
characters), try doing this first:

# dd if=/dev/zero of=/dev/sdf bs=1M count=512

c. Booting the intel-quark BSP image on a Galileo board
-------------------------------------------------------

If you downloaded the BSP tarball, you will find bootable images in
the /binary directory.  If you've built your own image, either from
the downloaded BSP layer or from the meta-intel git repository, you'll
find the bootable image in the build/tmp/deploy/images/xxx directory,
where again 'xxx' refers to the machine name used in the build.

The Galileo board can boot off of either an SD card or USB storage
media that has a special disk layout.  The 'wic' tool can be used to
create directly bootable images for either of the two formats via the
following steps.

If you haven't already, you need to build parted-native. (You will get
an error message when running the wic script if you haven't.)

    $ bitbake parted-native

Use the wic script to create an SD card image:

    $ wic list images
       galileodisk-sd        Create an Galileo Gen 1/2 disk image (SD card)
       galileodisk-usb       Create an Galileo Gen 1/2 disk image (USB Storage)
       mkgummidisk           Create an EFI disk image

Assuming you want to boot the 'core-image-minimal' image for SD card media:

     $ wic create galileodisk-sd -e core-image-minimal

If successful, the wic script generates the image and prints its location:

       Info: The new image(s) can be found here:
         /var/tmp/wic/build/galileodisk-sd-201604211444-mmcblk0.direct
       ...

Write the output image to an SD Card

     $ sudo dd if=/path/to/image/galileodisk-sd-*-mmcblk0.direct of=/dev/your_sd_dev
 
Insert the SD Card into the reference platform and power on.

To create a direct-boot image for USB storage media, simply specify
galileodisk-usb instead of galileodisk-sd in the "wic create ..."
command, then write the output image to USB storage media and boot it.

III. Technical Miscellany
=========================

The intel-common kernel package architecture
--------------------------------------------

These BSPs use what we call the intel-common Linux kernel package
architecture. This includes core2-32-intel-common and
corei7-64-intel-common. These kernel packages can also be used by any
of the BSPs in meta-intel that choose to include the
intel-common-pkgarch.inc file.

To minimize the proliferation of vendor trees, reduce the sources we
must support, and consolidate QA efforts, all BSP maintainers are
encouraged to make use of the intel-common Linux kernel package
architecture.

Intel-specific machine features
-------------------------------

The meta-intel layer makes some additional machine features available
to BSPs.  These machine features can be used in a BSP layer in the
same way that machine features are used in other layers based on
oe-core, via the MACHINE_FEATURES variable.

Requirements
++++++++++++

The meta-intel-specific machine features are only available to a BSP
when the meta-intel layer is included in the build configuration, and
the meta-intel.inc file is included in the machine configuration of
that BSP.

To make these features available for your machine, you will need to:

  1. include a configuration line such as the below in bblayers.conf
	BBLAYERS += "<local path>/meta-intel"
  2. include the following line in the machine configuration file
	require conf/machine/include/meta-intel.inc

Once the above requirements are met, the machine features provided by
the meta-intel layer will be available for the BSP to use.

Available machine features
++++++++++++++++++++++++++

Currently, the meta-intel layer makes the following set of
Intel-specific machine features available:

  * intel-ucode

These machine features can be included by listing them in the
MACHINE_FEATURES variable in the machine configuration file.  For
example:

	MACHINE_FEATURES += "intel-ucode"

Machine feature details
+++++++++++++++++++++++

 * intel-ucode

    This feature provides support for microcode updates to Intel
    processors.  The intel-ucode feature runs at early boot and uses
    the microcode data file added by the feature into the BSP's
    initrd.  It also puts the userland microcode-updating tool,
    iucode_tool, into the target images along with the microcode data
    file.

    Q. Why might a user want to enable the intel-ucode feature?

    A. Intel releases microcode updates to correct processor behavior
       as documented in the respective processor specification
       updates.  While the normal approach to getting such microcode
       updates is via a BIOS upgrade, this can be an administrative
       hassle and not always possible in the field.  The intel-ucode
       feature enables the microcode update capability present in the
       Linux kernel.  It provides an easy path for upgrading processor
       microcode without the need to change the BIOS.  If the feature
       is enabled, it is also possible to update the existing target
       images with a newer microcode update in the future.

    Q. How would a user bundle only target-specific microcode in the
       target image?

    A. The Intel microcode data file released by Intel contains
       microcode updates for multiple processors.  If the BSP image is
       meant to run on only a certain subset of processor types, a
       processor-specific subset of microcode can be bundled into the
       target image via the UCODE_FILTER_PARAMETERS variable.  This
       works by listing a sequence of iucode-tool parameters in the
       UCODE_FILTER_PARAMETERS variable, which in this case will
       select only the specific microcode relevant to the BSP.  For
       more information on the underlying parameters refer to the
       iucode-tool manual page at http://manned.org/iucode-tool

       To define a set of parameters for microcode-filtering via the
       UCODE_FILTER_PARAMETERS variable, one needs to identify the
       cpuid signatures of all the processors the BSP is meant to run
       on.  One way to determine the cpuid signature for a specific
       processor is to build and run an intel-ucode-feature-enabled
       image on the target hardware, without first assigning any value
       to the UCODE_FILTER_PARAMETERS variable, and then once the
       image is booted, run the "ucode_tool -S" command to have the
       ucode tool scan the system for processor signatures.  These
       signatures can then be used in the UCODE_FILTER_PARAMETERS
       variable in conjunction with -s parameter.  For example, for
       the fri2 BSP, the cpuid can be determined as such:

         [root@fri2 ~]# iucode_tool -S
	 iucode_tool: system has processor(s) with signature 0x00020661

       Given that output, a suitable UCODE_FILTER_PARAMETERS variable
       definition could be specified in the machine configuration as
       such:

         UCODE_FILTER_PARAMETERS = "-s 0x00020661"

    Q. Are there any reasons a user might want to disable the
       intel-ucode feature?

    A. The microcode data file and associated tools occupy a small
       amount of space (a few KB) on the target image.  BSPs which are
       highly sensitive to target image size and which are not
       experiencing microcode-related issues might consider not
       enabling this feature.


IV. Tested Hardware
===================

Of the BSPs currently included in meta-intel, the following have
passed initial testing with the intel-common BSPs:

intel-corei7-64:

    crystalforest-server
    crystalforest-gladden
    haswell-wc
    nuc (Ivy Bridge and Haswell, manual audio config required)
    sugarbay

intel-core2-32:

    <currently under test>

If you are interested in a BSP not listed here, chances are we are
currently working on resolving some configuration issues with it.
Please check the bugzilla and check in with us on the meta-intel
mailing list.


V. Guidelines for submitting patches
====================================

Please submit any patches against meta-intel BSPs to the meta-intel
mailing list (meta-intel@yoctoproject.org).  Also, if your patches are
available via a public git repository, please also include a URL to
the repo and branch containing your patches as that makes it easier
for maintainers to grab and test your patches.

There are patch submission scripts available that will, among other
things, automatically include the repo URL and branch as mentioned.
Please see the Yocto Project Development Manual sections entitled
'Using Scripts to Push a Change Upstream and Request a Pull' and
'Using Email to Submit a Patch' for details.

Regardless of how you submit a patch or patchset, the patches should
at minimum follow the suggestions outlined in the 'How to Submit a
Change' secion in the Yocto Project Development Manual.  Specifically,
they should:

  - Include a 'Signed-off-by:' line.  A commit can't legally be pulled
    in without this.

  - Provide a single-line, short summary of the change.  This short
    description should be prefixed by the BSP or recipe name, as
    appropriate, followed by a colon.  Capitalize the first character
    of the summary (following the colon).

  - For the body of the commit message, provide detailed information
    that describes what you changed, why you made the change, and the
    approach you used.

  - If the change addresses a specific bug or issue that is associated
    with a bug-tracking ID, include a reference to that ID in your
    detailed description in the following format: [YOCTO #<bug-id>].

  - Pay attention to line length - please don't allow any particular
    line in the commit message to stretch past 72 characters.

  - For any non-trivial patch, provide information about how you
    tested the patch, and for any non-trivial or non-obvious testing
    setup, provide details of that setup.

Doing a quick 'git log' in meta-intel will provide you with many
examples of good example commits if you have questions about any
aspect of the preferred format.

The meta-intel maintainers will do their best to review and/or pull in
a patch or patchset within 24 hours of the time it was posted.  For
larger and/or more involved patches and patchsets, the review process
may take longer.

Please see the meta-intel/MAINTAINERS file for the list of maintainers
and their specific areas; it's also a good idea to cc: the specific
maintainer, if applicable.