Go to file
California Sullivan ab6f511bee linux-yocto/4.1: Update SRCREVs for v4.1.28 and more BXT/APL backports
From linux-yocto-4.1:

5c070dc Merge branch 'standard/base' into standard/intel/base
846e0a9 Merge tag 'v4.1.28' into standard/base
685c5d2 usb: core: hub: generate uevent for over current condition
def9808e mfd: intel_vuport: use back property_set struct
5880876 Linux 4.1.28
723c17c MAINTAINERS: add maintainer entry for Intel USB dual role mux drivers
581950b usb: pci-quirks: add Intel USB drcfg mux device
9ab06b6 mfd: intel_vuport: Add Intel virtual USB port MFD Driver
b27a6fe usb: mux: add driver for Intel drcfg controlled port mux
67d26c7 usb: mux: add driver for Intel gpio controlled port mux
491cd93 usb: mux: add generic code for dual role port mux
a3e1d2a regulator: fixed: add support for ACPI interface
32e6744 extcon: usb-gpio: add support for ACPI gpio interface
1ad37a3 extcon: usb-gpio: add device binding for platform device
072a96c brcmfmac: Prevent re-tuning conflicting with 'wake-up'
3f102ee Merge branch 'standard/base' into standard/intel/base
73bd4dd pinctrl: make pinctrl_register() return proper error code
2d27d2e pinctrl: Remove .owner field
d2b5c87 pinctrl: mediatek: add pinctrl/GPIO/EINT driver for mt8127
7959e30 pinctrl: mediatek: Add Pinctrl/GPIO driver for mt6397.
6021efc pinctrl: add imx7d support
2c68edc pinctrl: sirf: add sirf atlas7 pinctrl and gpio support
8616a86 pinctrl: Add Pistachio SoC pin control driver
afd1bfa pinctrl: lpc18xx: add the missing group function map
ea15f47 pinctrl: lpc18xx: create pin cap lookup helper
4291982 pinctrl: add lpc18xx pinctrl driver
116c75f tmpfs: fix regression hang in fallocate undo
b7aa372 netfilter: x_tables: introduce and use xt_copy_counters_from_user
af815d2 netfilter: x_tables: do compat validation via translate_table
2756b2a netfilter: x_tables: xt_compat_match_from_user doesn't need a retval
05e089b netfilter: ip6_tables: simplify translate_compat_table args
cd76c8c netfilter: ip_tables: simplify translate_compat_table args
7bdf4f4 netfilter: arp_tables: simplify translate_compat_table args
d97246b netfilter: x_tables: don't reject valid target size on some architectures
a605e74 netfilter: x_tables: validate all offsets and sizes in a rule
451e440 netfilter: x_tables: check for bogus target offset
73bfda1 netfilter: x_tables: check standard target size too
acbcf85 netfilter: x_tables: add compat version of xt_check_entry_offsets
aae9191 netfilter: x_tables: assert minimum target size
801cd32 netfilter: x_tables: kill check_entry helper
a471ac8 netfilter: x_tables: add and use xt_check_entry_offsets
8163327 netfilter: x_tables: validate targets of jumps
cf75638 netfilter: x_tables: don't move to non-existent next rule
850c377 netfilter: x_tables: fix unconditional helper
a1c49d8 netfilter: x_tables: make sure e->next_offset covers remaining blob size
780daa2 netfilter: x_tables: validate e->target_offset early
1a1f239 MIPS: Fix 64k page support for 32 bit kernels.
445ff22 sparc64: Fix return from trap window fill crashes.
6d3c937 sparc: Harden signal return frame checks.
ea312fc sparc64: Take ctx_alloc_lock properly in hugetlb_setup().
a74b2f2 sparc/PCI: Fix for panic while enabling SR-IOV
dc316fc sparc64: Fix sparc64_set_context stack handling.
25f7f80 sparc64: Fix numa node distance initialization
693b8dc sparc64: Fix bootup regressions on some Kconfig combinations.
d2e4e89 sparc: Fix system call tracing register handling.
daaaff2 tcp: record TLP and ER timer stats in v6 stats
e2de678 sfc: on MC reset, clear PIO buffer linkage in TXQs
27b56c6 tuntap: correctly wake up process during uninit
8454d64 tipc: fix nametable publication field in nl compat
e39cd93 netlink: Fix dump skb leak/double free
4995643 tipc: check nl sock before parsing nested attributes
186e7c3 xfs: print name of verifier if it fails
2612a94 pipe: limit the per-user amount of pages allocated in pipes
e8ebd0c MIPS: Reserve nosave data for hibernation
664fcc1 serial: samsung: Reorder the sequence of clock control when call s3c24xx_serial_set_termios()
5ec75b7 tty: vt, return error when con_startup fails
87e0b57 KVM: x86: mask CPUID(0xD,0x1).EAX against host value
4b6986f usb: gadget: f_fs: Fix EFAULT generation for async read operations
616ffbf clk: qcom: msm8916: Fix crypto clock flags
ec2744d Btrfs: don't use src fd for printk
545655e drm/radeon: fix PLL sharing on DCE6.1 (v2)
a36c14b s390/mm: fix asce_bits handling with dynamic pagetable levels
90eb671 tcp: refresh skb timestamp at retransmit time
b2b95b3 net: fix a kernel infoleak in x25 module
806d70c net: bridge: fix old ioctl unlocked net device walk
8817c1b VSOCK: do not disconnect socket when peer has shutdown SEND only
8bba162 net/mlx4_en: Fix endianness bug in IPV6 csum calculation
9a9390b net: fix infoleak in rtnetlink
5923f46 net: fix infoleak in llc
9a7e38d net: fec: only clear a queue's work bit if the queue was emptied
5305392 netem: Segment GSO packets on enqueue
dfc58a0 sch_dsmark: update backlog as well
64e1762 sch_htb: update backlog as well
236094a net_sched: update hierarchical backlog too
11316d7 net_sched: introduce qdisc_replace() helper
7b64603 bpf: fix double-fdput in replace_map_fd_with_map_ptr()
eeee948 net/mlx4_en: fix spurious timestamping callbacks
2c5ac2bfe ipv4/fib: don't warn when primary address is missing if in_dev is dead
303c69a openvswitch: use flow protocol when recalculating ipv6 checksums
a2e388f atl2: Disable unimplemented scatter/gather feature
a4e1611 bpf/verifier: reject invalid LD_ABS | BPF_DW instruction
5730fd5 net: sched: do not requeue a NULL skb
4b5223b packet: fix heap info leak in PACKET_DIAG_MCLIST sock_diag interface
80565d16 route: do not cache fib route info on local routes with oif
1ea4df4 decnet: Do not build routes to devices without decnet private data.
51319f4 ACPI / processor: Request native thermal interrupt handling via _OSC
fd4453a iio: ak8975: fix maybe-uninitialized warning
b55c212 batman-adv: Reduce refcnt of removed router when updating route
eaa401a batman-adv: Fix broadcast/ogm queue limit on a removed interface
f7ac631 batman-adv: Check skb size before using encapsulated ETH+VLAN header
7b1f624 mm: update min_free_kbytes from khugepaged after core initialization
93c4863 proc: prevent accessing /proc/<PID>/environ until it's ready
d6c812a Input: zforce_ts - fix dual touch recognition
b7c61d5 lpfc: fix misleading indentation
8859f16 clk: qcom: msm8960: Fix ce3_src register offset
b1a774d clk: versatile: sp810: support reentrance
5356dee clk: qcom: msm8960: fix ce3_core clk enable register
ea0b241 clk: rockchip: free memory in error cases when registering clock branches
9eb5295 nbd: ratelimit error msgs after socket close
7361f00 ipvs: drop first packet to redirect conntrack
98f4535 ipvs: correct initial offset of Call-ID header search in SIP persistence engine
7267c96 megaraid_sas: add missing curly braces in ioctl handler
e28574a sunrpc/cache: drop reference when sunrpc_cache_pipe_upcall() detects a race
00c0a9f jme: Fix device PM wakeup API usage
781fff9 jme: Do not enable NIC WoL functions on S0
61116b2 ARM: OMAP3: Add cpuidle parameters table for omap3430
95297bf perf stat: Document --detailed option
cedfda9 perf tools: handle spaces in file names obtained from /proc/pid/maps
7925f4f ext4: fix NULL pointer dereference in ext4_mark_inode_dirty()
6e939f7 x86/mm/kmmio: Fix mmiotrace for hugepages
4385d1a drivers/misc/ad525x_dpot: AD5274 fix RDAC read back errors
d8b7559 rtc: max77686: Properly handle regmap_irq_get_virq() error code
49d22c0 rtc: ds1685: passing bogus values to irq_restore
1d22cda rtc: vr41xx: Wire up alarm_irq_enable
aa9d9e9 rtc: hym8563: fix invalid year calculation
2de5337 misc/bmp085: Enable building as a module
a5e1649 fbdev: da8xx-fb: fix videomodes of lcd panels
2d7efc5 paride: make 'verbose' parameter an 'int' again
1cc5854 regulator: s5m8767: fix get_register() error handling
377e05c spi/rockchip: Make sure spi clk is on in rockchip_spi_set_cs
25c871c USB: usbip: fix potential out-of-bounds write
cef12db cgroup: make sure a parent css isn't freed before its children
3398611 efi: Expose non-blocking set_variable() wrapper to efivars
fad61c4 ASoC: ssm4567: Reset device before regcache_sync()
0cbc796 ASoC: s3c24xx: use const snd_soc_component_driver pointer
4478308 i2c: exynos5: Fix possible ABBA deadlock by keeping I2C clock prepared
be10971 drm/i915: Cleanup phys status page too
4e57736 pinctrl: single: Fix pcs_parse_bits_in_pinctrl_entry to use __ffs than ffs
3725741 xen kconfig: don't "select INPUT_XEN_KBDDEV_FRONTEND"
e9f20ca Input: pmic8xxx-pwrkey - fix algorithm for converting trigger delay
f49eb50 powerpc: Update TM user feature bits in scan_features()
0ee1b6d futex: Acknowledge a new waiter in counter before plist
17e8cd1 mac80211: fix txq queue related crashes
193517e mac80211: fix unnecessary frame drops in mesh fwding
bd6b2f8 mac80211: fix ibss scan parameters
6c59578 mac80211: avoid excessive stack usage in sta_info
f46752f [media] v4l: vsp1: Set the SRU CTRL0 register when starting the stream
80a3bf1 [media] coda: fix error path in case of missing pdata on non-DT platform
921aa6d pinctrl: nomadik: fix pull debug print inversion
8061833 ip6_tunnel: set rtnl_link_ops before calling register_netdevice
1d8ad31 ipv6: l2tp: fix a potential issue in l2tp_ip6_recv
a9c5107 ipv4: l2tp: fix a potential issue in l2tp_ip_recv
5e6a091 rtnl: fix msg size calculation in if_nlmsg_size()
b95228f ipv6: udp: fix UDP_MIB_IGNOREDMULTI updates
95e4695 qmi_wwan: add "D-Link DWM-221 B1" device id
a235977 xfrm: Fix crash observed during device unregistration and decryption
fc74ace ppp: take reference on channels netns
263a20b ipv4: fix broadcast packets reception
6acfc65 bonding: fix bond_get_stats()
1fdc694 net: bcmgenet: fix dma api length mismatch
bb9863e qlge: Fix receive packets drop.
827e507 ppp: ensure file->private_data can't be overridden
58bcdf4 ath9k: fix buffer overrun for ar9287
7b95465 farsync: fix off-by-one bug in fst_add_one
c7c3a32 mlx4: add missing braces in verify_qp_parameters
8ca7bf0 net: Fix use after free in the recvmmsg exit path
86de827 ipv4: Don't do expensive useless work during inetdev destroy.
6862639 macvtap: always pass ethernet header in linear
5284ee1 qlcnic: Fix mailbox completion handling during spurious interrupt
fa565f5 qlcnic: Remove unnecessary usage of atomic_t
5264332 sh_eth: fix RX buffer size alignment
c5e6283 sh_eth: fix NULL pointer dereference in sh_eth_ring_format()
795f5dc packet: validate variable length ll headers
58ba5f6 ax25: add link layer header validation function
1df1649 net: validate variable length ll headers
58c92f1 packet: Allow packets with only a header (but no payload)
6def7a9 udp6: fix UDP/IPv6 encap resubmit path
900aa97 usbnet: cleanup after bind() in probe()
cf852e9 cdc_ncm: toggle altsetting to force reset before setup
af4f7a3 ipv6: re-enable fragment header matching in ipv6_find_hdr
4ded71d qmi_wwan: add Sierra Wireless EM74xx device ID
fda740f mld, igmp: Fix reserved tailroom calculation
67eab32 sctp: lack the check for ports in sctp_v6_cmp_addr
8590142 net: qca_spi: clear IFF_TX_SKB_SHARING
830b50e net: qca_spi: Don't clear IFF_BROADCAST
2131abc net: jme: fix suspend/resume on JMC260
ea82b38 tunnel: Clear IPCB(skb)->opt before dst_link_failure called
3de6011 tcp: convert cached rtt from usec to jiffies when feeding initial rto
d393b6c drm/radeon: add a dpm quirk for all R7 370 parts
cd18a79 drm/radeon: add a dpm quirk for sapphire Dual-X R7 370 2G D5
28a201e drm/udl: Use unlocked gem unreferencing
da38a23 drm: Fix for DP CTS test 4.2.2.5 - I2C DEFER handling
7e69c7b powerpc/mm: Fixup preempt underflow with huge pages
39bf564 mm: fix invalid node in alloc_migrate_target()
b9f2aab ALSA: timer: Use mod_timer() for rearming the system timer
fb7a806 PKCS#7: pkcs7_validate_trust(): initialize the _trusted output argument
bf15ba3 hwmon: (max1111) Return -ENODEV from max1111_read_channel if not instantiated
4c06bf7 ALSA: pcm: Avoid "BUG:" string for warnings again
cab6809 mtip32xx: Fix broken service thread handling
30dbed7 mtip32xx: Fix for rmmod crash when drive is in FTL rebuild
c6aa8ba 8250: use callbacks to access UART_DLL/UART_DLM
e4e503b HID: logitech: fix Dual Action gamepad support
eae5f79 tpm: fix the cleanup of struct tpm_chip
03e046e ALSA: usb-audio: Fix double-free in error paths after snd_usb_add_audio_stream() call
00ef5df ALSA: usb-audio: Minor code cleanup in create_fixed_stream_quirk()
b5ba0d0 dm snapshot: disallow the COW and origin devices from being identical
8f82841 ASoC: samsung: pass DMA channels as pointers
85aa23b PCI: Allow a NULL "parent" pointer in pci_bus_assign_domain_nr()
a1f678e locks: use file_inode()
2119a62 namespace: update event counter when umounting a deleted dentry
4a883b8 NFS: Fix another OPEN_DOWNGRADE bug
2bbd6a5 Revert "s390/kdump: Clear subchannel ID to signal non-CCW/SCSI IPL"
49cacd2 arc: unwind: warn only once if DW2_UNWIND is disabled
7678c94 ARC: unwind: ensure that .debug_frame is generated (vs. .eh_frame)
7421921 USB: don't free bandwidth_mutex too early
3f3d352 make nfs_atomic_open() call d_drop() on all ->open_context() errors.
d4b0896 KVM: arm/arm64: Stop leaking vcpu pid references
848be47 powerpc/tm: Always reclaim in start_thread() for exec() class syscalls
cc6fd72 fs/nilfs2: fix potential underflow in call to crc32_le
284f69f mm, compaction: abort free scanner if split fails
6838542 mm, compaction: skip compound pages by order in free scanner
c5ad331 mm/swap.c: flush lru pvecs on compound page arrival
c5bcec6 tmpfs: don't undo fallocate past its last page
7f3724b USB: EHCI: declare hostpc register as zero-length array
655d8d1 File names with trailing period or space need special case conversion
e20c888 Fix reconnect to not defer smb3 session reconnect long after socket reconnect
eba391c pnfs_nfs: fix _cancel_empty_pagelist
691c507 nfs: avoid race that crashes nfs_init_commit
94d06a4 pNFS: Tighten up locking around DS commit buckets
1ff20a5 ALSA: dummy: Fix a use-after-free at closing
9bbe4e5 ALSA: hda / realtek - add two more Thinkpad IDs (5050,5053) for tpt460 fixup
65f6fab ALSA: hda - remove one pin from ALC292_STANDARD_PINS
f67b692 HID: hiddev: validate num_values for HIDIOCGUSAGES, HIDIOCSUSAGES commands
32dc059 cifs: dynamic allocation of ntlmssp blob
60243e6 Input: vmmouse - remove port reservation
6a2f158 drm/nouveau: fix for disabled fbdev emulation
97e2a92 Input: elantech - add more IC body types to the list
37d925d Input: wacom_w8001 - w8001_MAX_LENGTH should be 13
90a12c5 xen/pciback: Fix conf_space read/write overlap check.
760102c can: fix oops caused by wrong rtnl dellink usage
488ba7c can: fix handling of unmodifiable configuration options fix
f3d1ae6 UBIFS: Implement ->migratepage()
a13b0f0 mm: Export migrate_page_move_mapping and migrate_page_copy
5952333 ubi: Make recover_peb power cut aware
0e16f4f pinctrl: single: Fix missing flush of posted write for a wakeirq
65c68fd pinctrl: imx: Do not treat a PIN without MUX register as an error
32bab07 arm64: mm: remove page_mapping check in __sync_icache_dcache
7801645 drm: atmel-hlcdc: actually disable scaling when no scaling is required
335f166 tracing: Handle NULL formats in hold_module_trace_bprintk_format()
1105110 can: at91_can: RX queue could get stuck at high bus load
293745b can: c_can: Update D_CAN TX and RX functions to 32 bit - fix Altera Cyclone access
0764832 IB/mlx4: Properly initialize GRH TClass and FlowLabel in AHs
efe098c btrfs: account for non-CoW'd blocks in btrfs_abort_transaction
0b1ca75 ALSA: hdac_regmap - fix the register access for runtime PM
ec3e732 ALSA: hda - Fix possible race on regmap bypass flip
c262505 KEYS: potential uninitialized variable
0356b95 cgroup: set css->id to -1 during init
4c9b106 memory: omap-gpmc: Fix omap gpmc EXTRADELAY timing
3165159 kvm: Fix irq route entries exceeding KVM_MAX_IRQ_ROUTES
aec2ddb base: make module_create_drivers_dir race-free
c2edadb nfsd4/rpc: move backchannel create logic into rpc code
040ad2a drm/dp/mst: Always clear proposed vcpi table for port.
5a6c735 drm/i915/ilk: Don't disable SSC source if it's in use
260c505 power_supply: power_supply_read_temp only if use_cnt > 0
9f67dcf kernel/sysrq, watchdog, sched/core: Reset watchdog on all CPUs while processing sysrq-w
c5ffc99 kprobes/x86: Clear TF bit in fault on single-stepping
01c93ba spi: sunxi: fix transfer timeout
fcc5d26 spi: sun4i: fix FIFO limit
d1c7fc1 MIPS: KVM: Fix modular KVM under QEMU
505291a usb: common: otg-fsm: add license to usb-otg-fsm
d7afed7 drm/radeon: fix asic initialization for virtualized environments
7ac3a70 ipmi: Remove smi_msg from waiting_rcv_msgs list before handle_one_recv_msg()
4a088cb crypto: ux500 - memmove the right size
9341331 crypto: vmx - Increase priority of aes-cbc cipher
515f303 ARM: 8579/1: mm: Fix definition of pmd_mknotpresent
017864e ARM: 8578/1: mm: ensure pmd_present only checks the valid bit
bcef1c8 scsi: fix race between simultaneous decrements of ->host_failed
e342d57 usb: host: ehci-tegra: Grab the correct UTMI pads reset
5cf1329 usb: musb: Stop bulk endpoint while queue is rotated
ffb84c1 usb: musb: Ensure rx reinit occurs for shared_fifo endpoints
95cb83b USB: xhci: Add broken streams quirk for Frescologic device id 1009
378cd9e usb: quirks: Add no-lpm quirk for Acer C120 LED Projector
7d2831a usb: quirks: Fix sorting
0c3f25d usb: xhci-plat: properly handle probe deferral for devm_clk_get()
e78c8a5 xhci: Fix handling timeouted commands on hosts in weird states.
b71d179 HID: elo: kill not flush the work
1aaee5d usb: gadget: fix spinlock dead lock in gadgetfs
a56c72f usb: dwc3: exynos: Fix deferred probing storm.
01a129f clk: rockchip: initialize flags of clk_init_data in mmc-phase clock
039f597 dmaengine: at_xdmac: double FIFO flush needed to compute residue
6d8fde7 dmaengine: at_xdmac: fix residue corruption
c6ec15d dmaengine: at_xdmac: align descriptors on 64 bits
6ef3045 cgroup: remove redundant cleanup in css_create
62f7175 percpu: fix synchronization between synchronous map extension and chunk destruction
d273823 percpu: fix synchronization between chunk->map_extend_work and chunk destruction
272d474 af_unix: Fix splice-bind deadlock

From yocto-kernel-cache:

6a2047c common-pc: enforce 32 bit
98729af kver: bump to v4.1.28

Signed-off-by: California Sullivan <california.l.sullivan@intel.com>
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
2016-07-25 09:28:45 -05:00
common linux-yocto/4.1: Update SRCREVs for v4.1.28 and more BXT/APL backports 2016-07-25 09:28:45 -05:00
conf intel-common-pkgarch: Set common PACKAGE_ARCH for linux-yocto-tiny 2016-05-26 20:59:33 -05:00
meta-isg meta-isg: dpdk: fix compilation with dynamic libs 2016-07-22 13:37: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 mkgalileodisk.wks: WiC image for Galileo Gen 1/2 2015-11-13 07:45:54 -08:00
MAINTAINERS meta-crystalforest: relocate meta-crystalforest layer into meta-isg layer 2015-10-02 08:15:43 -07:00
README README: Add build and boot instructions and restructure 2016-04-29 07:15:27 -07: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 boots off of an SD card that has a special disk
layout.  The 'wic' tool can be used to create an SD card adhering to
that format 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
       mkgalileodisk                         Create an Galileo Gen 1/2 disk image
       mkgummidisk                           Create an EFI disk image

Assuming you want to boot the 'core-image-minimal' image:

     $ wic create mkgalileodisk -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/mkgalileodisk-201604211444-mmcblk0.direct
       ...

Write the output image to an SD Card

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


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.