From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Williams, Dan J" Subject: [GIT PULL] libnvdimm for 4.6 Date: Tue, 15 Mar 2016 18:48:40 +0000 Message-ID: <1458067720.11591.17.camel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-7" Content-Transfer-Encoding: 8BIT Return-path: Received: from mga11.intel.com ([192.55.52.93]:35690 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751133AbcCOSsl convert rfc822-to-8bit (ORCPT ); Tue, 15 Mar 2016 14:48:41 -0400 Content-Language: en-US Content-ID: Sender: linux-acpi-owner@vger.kernel.org List-Id: linux-acpi@vger.kernel.org To: "torvalds@linux-foundation.org" , "mingo@kernel.org" , "akpm@linux-foundation.org" Cc: "linux-kernel@vger.kernel.org" , "linux-nvdimm@lists.01.org" , "toshi.kani@hpe.com" , "linux-acpi@vger.kernel.org" Hi Linus, please pull from... +AKA- git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm tags/libnvdimm-for-4.6 ...to receive the libnvdimm update for 4.6. This has appeared in -next with no reported issues, and a test merge with latest master passes the regression tests. +AKA-Note that this includes development that was based on the tip/core/resources branch which you merged yesterday. +AKA-The post merge diffstat is cleaner than the 6e2452dff444..libnvdimm-for-4.6 diffstat that +ACI-git request-pull+ACI- picked. +AKA-arch/x86/include/asm/pmem.h+AKAAoACgAKAAoACgAHwAoACgAKA-5 +- +AKA-drivers/acpi/nfit.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8- 798 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--------------- +AKA-drivers/acpi/nfit.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoA-30 +-- +AKA-drivers/nvdimm/blk.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKA-18 +-- +AKA-drivers/nvdimm/btt.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKA-19 +-- +AKA-drivers/nvdimm/bus.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfA- 131 +-+-+-+-+-+-+--- +AKA-drivers/nvdimm/core.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAHw- 110 +-+-+-+-+---- +AKA-drivers/nvdimm/dimm+AF8-devs.c+AKAAoACgAKAAoACgAKAAfACgAKAAoA-6 +-- +AKA-drivers/nvdimm/namespace+AF8-devs.c+AKAAoAB8AKAAoACg-7 +- +AKA-drivers/nvdimm/nd.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoACg-4 +- +AKA-drivers/nvdimm/pfn.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKA-23 +-- +AKA-drivers/nvdimm/pfn+AF8-devs.c+AKAAoACgAKAAoACgAKAAoAB8AKAAoA-61 +-+-+-+- +AKA-drivers/nvdimm/pmem.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAHw- 219 +-+-+-+-+-+-+-+-+-+-+----- +AKA-drivers/nvdimm/region.c+AKAAoACgAKAAoACgAKAAoACgAKAAfACgAKA-12 +- +AKA-include/linux/ioport.h+AKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoACg-1 +- +AKA-include/linux/libnvdimm.h+AKAAoACgAKAAoACgAKAAoAB8AKAAoACg-5 +-- +AKA-include/linux/nd.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACgAKA-7 +- +AKA-include/linux/pmem.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKA-19 +-+- +AKA-include/uapi/linux/ndctl.h+AKAAoACgAKAAoACgAKAAfACgAKA-13 +- +AKA-kernel/resource.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKA-60 +-+-+-- +AKA-tools/testing/nvdimm/test/nfit.c +AHw- 285 +-+-+-+-+-+-+-+-+-+-+-+-+-+------ +AKA-21 files changed, 1394 insertions(+-), 439 deletions(-) The following changes since commit 6e2452dff4441e3dc24d415c8b2cda8a3ba52116: +AKA- nfit: Continue init even if ARS commands are unimplemented (2016-03-04 16:46:13 -0800) are available in the git repository at: +AKA- git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm tags/libnvdimm-for-4.6 for you to fetch changes up to 489011652a2d5555901def04c24d68874e8ba9a1: +AKA- Merge branch 'for-4.6/pfn' into libnvdimm-for-next (2016-03-09 17:15:43 -0800) ---------------------------------------------------------------- libnvdimm for 4.6 1/ Asynchronous address range scrub: Given the capacities of next generation persistent memory devices a scrub operation to find all poison may take 10s of seconds.+AKAAoA-We want this scrub work to be done asynchronously with the rest of system initialization, so we move it out of line from the NFIT probing, i.e. acpi+AF8-nfit+AF8-add(). 2/ Clear poison: ACPI 6.1 introduces the ability to send +ACI-clear error+ACI- commands to the ACPI0012:00 device representing the root of an +ACI-nvdimm bus+ACI-.+AKAAoA-Similar to relocating a bad block on a disk, this support clears media errors in response to a write. 3/ Persistent memory resource tracking: A persistent memory range may be designated as simply +ACI-reserved+ACI- by platform firmware in the efi/e820 memory map.+AKAAoA-Later when the NFIT driver loads it discovers that the range is +ACI-Persistent Memory+ACI-.+AKAAoA-The NFIT bus driver inserts a resource to advertise that +ACI-persistent+ACI- attribute in the system resource tree for /proc/iomem and kernel-internal usages. 4/ Miscellaneous cleanups and fixes: Workaround section misaligned pmem ranges when allocating a struct page memmap, fix handling of the read-only case in the ioctl path, and clean up block device major number allocation. ---------------------------------------------------------------- Dan Williams (18): +AKAAoACgAKAAoACg-nfit, tools/testing/nvdimm: add format interface code definitions +AKAAoACgAKAAoACg-nfit, tools/testing/nvdimm: test multiple control regions per-dimm +AKAAoACgAKAAoACg-libnvdimm, nfit: centralize command status translation +AKAAoACgAKAAoACg-libnvdimm: protect nvdimm+AF8Aew-bus+AHw-namespace+AH0AXw-add+AF8-poison() with nvdimm+AF8-bus+AF8-lock() +AKAAoACgAKAAoACg-libnvdimm: async notification support +AKAAoACgAKAAoACg-nfit, tools/testing/nvdimm: unify common init for acpi+AF8-nfit+AF8-desc +AKAAoACgAKAAoACg-nfit, libnvdimm: async region scrub workqueue +AKAAoACgAKAAoACg-nfit: scrub and register regions in a workqueue +AKAAoACgAKAAoACg-nfit: disable userspace initiated ars during scrub +AKAAoACgAKAAoACg-tools/testing/nvdimm: expand ars unit testing +AKAAoACgAKAAoACg-libnvdimm, pmem: fix 'pfn' support for section-misaligned namespaces +AKAAoACgAKAAoACg-libnvdimm, pmem: adjust for section collisions with 'System RAM' +AKAAoACgAKAAoACg-libnvdimm, pfn: 'resource'-address and 'size' attributes for pfn devices +AKAAoACgAKAAoACg-nfit, libnvdimm: clear poison command support +AKAAoACgAKAAoACg-libnvdimm, pmem: fix ia64 build, use PHYS+AF8-PFN +AKAAoACgAKAAoACg-libnvdimm, pmem: fix kmap+AF8-atomic() leak in error path +AKAAoACgAKAAoACg-libnvdimm, pmem: clear poison on write +AKAAoACgAKAAoACg-Merge branch 'for-4.6/pfn' into libnvdimm-for-next Jerry Hoemann (2): +AKAAoACgAKAAoACg-libnvdimm: Clean-up access mode check. +AKAAoACgAKAAoACg-libnvdimm: Fix security issue with DSM IOCTL. NeilBrown (3): +AKAAoACgAKAAoACg-pmem: don't allocate unused major device number +AKAAoACgAKAAoACg-nvdimm/blk: don't allocate unused major device number +AKAAoACgAKAAoACg-nvdimm/btt: don't allocate unused major device number Toshi Kani (4): +AKAAoACgAKAAoACg-resource: Change +AF8AXw-request+AF8-region to inherit from immediate parent +AKAAoACgAKAAoACg-resource: Add remove+AF8-resource interface +AKAAoACgAKAAoACg-resource: Export insert+AF8-resource and remove+AF8-resource +AKAAoACgAKAAoACg-ACPI: Change NFIT driver to insert new resource +AKA-arch/arm/kernel/setup.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACgAKA-6 +-- +AKA-arch/arm/plat-samsung/pm-check.c+AKAAoACgAHwAoACgAKA-4 +-- +AKA-arch/arm64/kernel/setup.c+AKAAoACgAKAAoACgAKAAoACgAKAAfACgAKAAoA-6 +-- +AKA-arch/avr32/kernel/setup.c+AKAAoACgAKAAoACgAKAAoACgAKAAfACgAKAAoA-6 +-- +AKA-arch/ia64/kernel/efi.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKA-13 +-- +AKA-arch/ia64/kernel/setup.c+AKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoACg-6 +-- +AKA-arch/m32r/kernel/setup.c+AKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoACg-4 +-- +AKA-arch/mips/kernel/setup.c+AKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoA-10 +-- +AKA-arch/parisc/mm/init.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoACg-6 +-- +AKA-arch/powerpc/mm/mem.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoACg-2 +-- +AKA-arch/s390/kernel/setup.c+AKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoACg-8 +-- +AKA-arch/score/kernel/setup.c+AKAAoACgAKAAoACgAKAAoACgAKAAfACgAKAAoA-2 +-- +AKA-arch/sh/kernel/setup.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKAAoA-8 +-- +AKA-arch/sparc/mm/init+AF8-64.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACgAKA-8 +-- +AKA-arch/tile/kernel/setup.c+AKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoA-11 +-- +AKA-arch/unicore32/kernel/setup.c+AKAAoACgAKAAoACgAHwAoACgAKA-6 +-- +AKA-arch/x86/include/asm/pmem.h+AKAAoACgAKAAoACgAKAAoAB8AKAAoACg-5 +- +AKA-arch/x86/kernel/crash.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACg-41 +-- +AKA-arch/x86/kernel/e820.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKA-38 +-- +AKA-arch/x86/kernel/pmem.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKAAoA-4 +-- +AKA-arch/x86/kernel/setup.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACgAKA-6 +-- +AKA-drivers/acpi/acpi+AF8-platform.c+AKAAoACgAKAAoACgAKAAfACgAKAAoA-2 +-- +AKA-drivers/acpi/apei/einj.c+AKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoA-15 +-- +AKA-drivers/acpi/nfit.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfA- 798 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+----------- +AKA-drivers/acpi/nfit.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKA-30 +-- +AKA-drivers/nvdimm/blk.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACg-18 +-- +AKA-drivers/nvdimm/btt.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACg-19 +-- +AKA-drivers/nvdimm/bus.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAHw- 131 +-+-+-+-+-- +AKA-drivers/nvdimm/core.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8- 110 +-+-+--- +AKA-drivers/nvdimm/dimm+AF8-devs.c+AKAAoACgAKAAoACgAKAAoACgAHwAoACgAKA-6 +-- +AKA-drivers/nvdimm/e820.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoACg-2 +-- +AKA-drivers/nvdimm/namespace+AF8-devs.c+AKAAoACgAKAAfACgAKAAoA-7 +- +AKA-drivers/nvdimm/nd.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKAAoA-4 +- +AKA-drivers/nvdimm/pfn.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACg-23 +-- +AKA-drivers/nvdimm/pfn+AF8-devs.c+AKAAoACgAKAAoACgAKAAoACgAKAAfACgAKA-61 +-+-+- +AKA-drivers/nvdimm/pmem.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8- 219 +-+-+-+-+-+-+---- +AKA-drivers/nvdimm/region.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACg-12 +- +AKA-drivers/parisc/eisa+AF8-enumerator.c+AKAAoACgAHwAoACgAKA-4 +-- +AKA-drivers/rapidio/rio.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoACg-8 +-- +AKA-drivers/sh/superhyway/superhyway.c +AHwAoACgAKA-2 +-- +AKA-drivers/xen/balloon.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoACg-2 +-- +AKA-include/linux/ioport.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKA-34 +-- +AKA-include/linux/libnvdimm.h+AKAAoACgAKAAoACgAKAAoACgAKAAfACgAKAAoA-5 +-- +AKA-include/linux/mm.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoACg-3 +-- +AKA-include/linux/nd.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoACg-7 +- +AKA-include/linux/pmem.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACg-19 +- +AKA-include/uapi/linux/ndctl.h+AKAAoACgAKAAoACgAKAAoACgAHwAoACg-13 +- +AKA-kernel/kexec+AF8-core.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKAAoA-8 +-- +AKA-kernel/kexec+AF8-file.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKAAoA-8 +-- +AKA-kernel/memremap.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACg-13 +-- +AKA-kernel/resource.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAHw- 149 +-+-+-+-+--- +AKA-mm/memory+AF8-hotplug.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKAAoA-2 +-- +AKA-tools/testing/nvdimm/test/nfit.c+AKAAoACgAHw- 285 +-+-+-+-+-+-+-+-+-+---- +AKA-53 files changed, 1623 insertions(+-), 596 deletions(-) From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by ml01.01.org (Postfix) with ESMTP id C0DBA1A1EF1 for ; Tue, 15 Mar 2016 11:48:59 -0700 (PDT) From: "Williams, Dan J" Subject: [GIT PULL] libnvdimm for 4.6 Date: Tue, 15 Mar 2016 18:48:40 +0000 Message-ID: <1458067720.11591.17.camel@intel.com> Content-Language: en-US Content-ID: MIME-Version: 1.0 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-7" Content-Transfer-Encoding: base64 Errors-To: linux-nvdimm-bounces@lists.01.org Sender: "Linux-nvdimm" To: "torvalds@linux-foundation.org" , "mingo@kernel.org" , "akpm@linux-foundation.org" Cc: "linux-acpi@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-nvdimm@lists.01.org" List-ID: SGkgTGludXMsIHBsZWFzZSBwdWxsIGZyb20uLi4KCitBS0EgZ2l0Oi8vZ2l0Lmtlcm5lbC5vcmcv cHViL3NjbS9saW51eC9rZXJuZWwvZ2l0L252ZGltbS9udmRpbW0gdGFncy9saWJudmRpbW0tZm9y LTQuNgoKLi4udG8gcmVjZWl2ZSB0aGUgbGlibnZkaW1tIHVwZGF0ZSBmb3IgNC42LgoKVGhpcyBo YXMgYXBwZWFyZWQgaW4gLW5leHQgd2l0aCBubyByZXBvcnRlZCBpc3N1ZXMsIGFuZCBhIHRlc3Qg bWVyZ2UKd2l0aCBsYXRlc3QgbWFzdGVyIHBhc3NlcyB0aGUgcmVncmVzc2lvbiB0ZXN0cy4gK0FL QS1Ob3RlIHRoYXQgdGhpcwppbmNsdWRlcyBkZXZlbG9wbWVudCB0aGF0IHdhcyBiYXNlZCBvbiB0 aGUgdGlwL2NvcmUvcmVzb3VyY2VzIGJyYW5jaAp3aGljaCB5b3UgbWVyZ2VkIHllc3RlcmRheS4g K0FLQS1UaGUgcG9zdCBtZXJnZSBkaWZmc3RhdCBpcyBjbGVhbmVyIHRoYW4KdGhlIDZlMjQ1MmRm ZjQ0NC4ubGlibnZkaW1tLWZvci00LjYgZGlmZnN0YXQgdGhhdCAiZ2l0IHJlcXVlc3QtcHVsbCIK cGlja2VkLgoKK0FLQS1hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wbWVtLmgrQUtBQW9BQ2dBS0FBb0FD Z3wrQUtBQW9BQ2ctNSArLQorQUtBLWRyaXZlcnMvYWNwaS9uZml0LmMrQUtBQW9BQ2dBS0FBb0FD Z0FLQUFvQUNnQUtBQW9BQ2dBS0FBb0F8IDc5OCArLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0tLS0tLS0t LS0tLS0tLQorQUtBLWRyaXZlcnMvYWNwaS9uZml0LmgrQUtBQW9BQ2dBS0FBb0FDZ0FLQUFvQUNn QUtBQW9BQ2dBS0FBb0F8K0FLQUFvQS0zMCArLS0KK0FLQS1kcml2ZXJzL252ZGltbS9ibGsuYytB S0FBb0FDZ0FLQUFvQUNnQUtBQW9BQ2dBS0FBb0FDZ0FLQXwrQUtBQW9BLTE4ICstLQorQUtBLWRy aXZlcnMvbnZkaW1tL2J0dC5jK0FLQUFvQUNnQUtBQW9BQ2dBS0FBb0FDZ0FLQUFvQUNnQUtBfCtB S0FBb0EtMTkgKy0tCitBS0EtZHJpdmVycy9udmRpbW0vYnVzLmMrQUtBQW9BQ2dBS0FBb0FDZ0FL QUFvQUNnQUtBQW9BQ2dBS0F8IDEzMSArLSstKy0rLSstKy0rLS0tCitBS0EtZHJpdmVycy9udmRp bW0vY29yZS5jK0FLQUFvQUNnQUtBQW9BQ2dBS0FBb0FDZ0FLQUFvQUNnfCAxMTAgKy0rLSstKy0r LS0tLQorQUtBLWRyaXZlcnMvbnZkaW1tL2RpbW1fZGV2cy5jK0FLQUFvQUNnQUtBQW9BQ2dBS0F8 K0FLQUFvQUNnLTYgKy0tCitBS0EtZHJpdmVycy9udmRpbW0vbmFtZXNwYWNlX2RldnMuYytBS0FB b0F8K0FLQUFvQUNnLTcgKy0KK0FLQS1kcml2ZXJzL252ZGltbS9uZC5oK0FLQUFvQUNnQUtBQW9B Q2dBS0FBb0FDZ0FLQUFvQUNnQUtBQW9BfCtBS0FBb0FDZy00ICstCitBS0EtZHJpdmVycy9udmRp bW0vcGZuLmgrQUtBQW9BQ2dBS0FBb0FDZ0FLQUFvQUNnQUtBQW9BQ2dBS0F8K0FLQUFvQS0yMyAr LS0KK0FLQS1kcml2ZXJzL252ZGltbS9wZm5fZGV2cy5jK0FLQUFvQUNnQUtBQW9BQ2dBS0FBb0F8 K0FLQUFvQS02MSArLSstKy0rLQorQUtBLWRyaXZlcnMvbnZkaW1tL3BtZW0uYytBS0FBb0FDZ0FL QUFvQUNnQUtBQW9BQ2dBS0FBb0FDZ3wgMjE5ICstKy0rLSstKy0rLSstKy0rLSstKy0tLS0tCitB S0EtZHJpdmVycy9udmRpbW0vcmVnaW9uLmMrQUtBQW9BQ2dBS0FBb0FDZ0FLQUFvQUNnQUtBfCtB S0FBb0EtMTIgKy0KK0FLQS1pbmNsdWRlL2xpbnV4L2lvcG9ydC5oK0FLQUFvQUNnQUtBQW9BQ2dB S0FBb0FDZ0FLQUFvQXwrQUtBQW9BQ2ctMSArLQorQUtBLWluY2x1ZGUvbGludXgvbGlibnZkaW1t LmgrQUtBQW9BQ2dBS0FBb0FDZ0FLQUFvQXwrQUtBQW9BQ2ctNSArLS0KK0FLQS1pbmNsdWRlL2xp bnV4L25kLmgrQUtBQW9BQ2dBS0FBb0FDZ0FLQUFvQUNnQUtBQW9BQ2dBS0FBb0FDZ3wrQUtBQW9B Q2ctNyArLQorQUtBLWluY2x1ZGUvbGludXgvcG1lbS5oK0FLQUFvQUNnQUtBQW9BQ2dBS0FBb0FD Z0FLQUFvQUNnQUtBfCtBS0FBb0EtMTkgKy0rLQorQUtBLWluY2x1ZGUvdWFwaS9saW51eC9uZGN0 bC5oK0FLQUFvQUNnQUtBQW9BQ2dBS0F8K0FLQUFvQS0xMyArLQorQUtBLWtlcm5lbC9yZXNvdXJj ZS5jK0FLQUFvQUNnQUtBQW9BQ2dBS0FBb0FDZ0FLQUFvQUNnQUtBQW9BQ2dBS0F8K0FLQUFvQS02 MCArLSstKy0tCitBS0EtdG9vbHMvdGVzdGluZy9udmRpbW0vdGVzdC9uZml0LmMgfCAyODUgKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLS0tLS0tCitBS0EtMjEgZmlsZXMgY2hhbmdlZCwgMTM5 NCBpbnNlcnRpb25zKCstKSwgNDM5IGRlbGV0aW9ucygtKQoKVGhlIGZvbGxvd2luZyBjaGFuZ2Vz IHNpbmNlIGNvbW1pdCA2ZTI0NTJkZmY0NDQxZTNkYzI0ZDQxNWM4YjJjZGE4YTNiYTUyMTE2OgoK K0FLQSBuZml0OiBDb250aW51ZSBpbml0IGV2ZW4gaWYgQVJTIGNvbW1hbmRzIGFyZSB1bmltcGxl bWVudGVkICgyMDE2LTAzLTA0IDE2OjQ2OjEzIC0wODAwKQoKYXJlIGF2YWlsYWJsZSBpbiB0aGUg Z2l0IHJlcG9zaXRvcnkgYXQ6CgorQUtBIGdpdDovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGlu dXgva2VybmVsL2dpdC9udmRpbW0vbnZkaW1tIHRhZ3MvbGlibnZkaW1tLWZvci00LjYKCmZvciB5 b3UgdG8gZmV0Y2ggY2hhbmdlcyB1cCB0byA0ODkwMTE2NTJhMmQ1NTU1OTAxZGVmMDRjMjRkNjg4 NzRlOGJhOWExOgoKK0FLQSBNZXJnZSBicmFuY2ggJ2Zvci00LjYvcGZuJyBpbnRvIGxpYm52ZGlt bS1mb3ItbmV4dCAoMjAxNi0wMy0wOSAxNzoxNTo0MyAtMDgwMCkKCi0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KbGlibnZkaW1t IGZvciA0LjYKCjEvIEFzeW5jaHJvbm91cyBhZGRyZXNzIHJhbmdlIHNjcnViOgpHaXZlbiB0aGUg Y2FwYWNpdGllcyBvZiBuZXh0IGdlbmVyYXRpb24gcGVyc2lzdGVudCBtZW1vcnkgZGV2aWNlcyBh CnNjcnViIG9wZXJhdGlvbiB0byBmaW5kIGFsbCBwb2lzb24gbWF5IHRha2UgMTBzIG9mIHNlY29u ZHMuK0FLQUFvQS1XZSB3YW50CnRoaXMgc2NydWIgd29yayB0byBiZSBkb25lIGFzeW5jaHJvbm91 c2x5IHdpdGggdGhlIHJlc3Qgb2Ygc3lzdGVtCmluaXRpYWxpemF0aW9uLCBzbyB3ZSBtb3ZlIGl0 IG91dCBvZiBsaW5lIGZyb20gdGhlIE5GSVQgcHJvYmluZywgaS5lLgphY3BpX25maXRfYWRkKCku CgoyLyBDbGVhciBwb2lzb246CkFDUEkgNi4xIGludHJvZHVjZXMgdGhlIGFiaWxpdHkgdG8gc2Vu ZCAiY2xlYXIgZXJyb3IiIGNvbW1hbmRzIHRvIHRoZQpBQ1BJMDAxMjowMCBkZXZpY2UgcmVwcmVz ZW50aW5nIHRoZSByb290IG9mIGFuICJudmRpbW0gYnVzIi4rQUtBQW9BLVNpbWlsYXIgdG8KcmVs b2NhdGluZyBhIGJhZCBibG9jayBvbiBhIGRpc2ssIHRoaXMgc3VwcG9ydCBjbGVhcnMgbWVkaWEg ZXJyb3JzIGluCnJlc3BvbnNlIHRvIGEgd3JpdGUuCgozLyBQZXJzaXN0ZW50IG1lbW9yeSByZXNv dXJjZSB0cmFja2luZzoKQSBwZXJzaXN0ZW50IG1lbW9yeSByYW5nZSBtYXkgYmUgZGVzaWduYXRl ZCBhcyBzaW1wbHkgInJlc2VydmVkIiBieQpwbGF0Zm9ybSBmaXJtd2FyZSBpbiB0aGUgZWZpL2U4 MjAgbWVtb3J5IG1hcC4rQUtBQW9BLUxhdGVyIHdoZW4gdGhlIE5GSVQKZHJpdmVyIGxvYWRzIGl0 IGRpc2NvdmVycyB0aGF0IHRoZSByYW5nZSBpcyAiUGVyc2lzdGVudCBNZW1vcnkiLitBS0FBb0Et VGhlCk5GSVQgYnVzIGRyaXZlciBpbnNlcnRzIGEgcmVzb3VyY2UgdG8gYWR2ZXJ0aXNlIHRoYXQg InBlcnNpc3RlbnQiCmF0dHJpYnV0ZSBpbiB0aGUgc3lzdGVtIHJlc291cmNlIHRyZWUgZm9yIC9w cm9jL2lvbWVtIGFuZAprZXJuZWwtaW50ZXJuYWwgdXNhZ2VzLgoKNC8gTWlzY2VsbGFuZW91cyBj bGVhbnVwcyBhbmQgZml4ZXM6Cldvcmthcm91bmQgc2VjdGlvbiBtaXNhbGlnbmVkIHBtZW0gcmFu Z2VzIHdoZW4gYWxsb2NhdGluZyBhIHN0cnVjdCBwYWdlCm1lbW1hcCwgZml4IGhhbmRsaW5nIG9m IHRoZSByZWFkLW9ubHkgY2FzZSBpbiB0aGUgaW9jdGwgcGF0aCwgYW5kIGNsZWFuCnVwIGJsb2Nr IGRldmljZSBtYWpvciBudW1iZXIgYWxsb2NhdGlvbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KRGFuIFdpbGxpYW1zICgx OCk6CitBS0FBb0FDZ0FLQUFvQUNnLW5maXQsIHRvb2xzL3Rlc3RpbmcvbnZkaW1tOiBhZGQgZm9y bWF0IGludGVyZmFjZSBjb2RlIGRlZmluaXRpb25zCitBS0FBb0FDZ0FLQUFvQUNnLW5maXQsIHRv b2xzL3Rlc3RpbmcvbnZkaW1tOiB0ZXN0IG11bHRpcGxlIGNvbnRyb2wgcmVnaW9ucyBwZXItZGlt bQorQUtBQW9BQ2dBS0FBb0FDZy1saWJudmRpbW0sIG5maXQ6IGNlbnRyYWxpemUgY29tbWFuZCBz dGF0dXMgdHJhbnNsYXRpb24KK0FLQUFvQUNnQUtBQW9BQ2ctbGlibnZkaW1tOiBwcm90ZWN0IG52 ZGltbV97YnVzfG5hbWVzcGFjZX1fYWRkX3BvaXNvbigpIHdpdGggbnZkaW1tX2J1c19sb2NrKCkK K0FLQUFvQUNnQUtBQW9BQ2ctbGlibnZkaW1tOiBhc3luYyBub3RpZmljYXRpb24gc3VwcG9ydAor QUtBQW9BQ2dBS0FBb0FDZy1uZml0LCB0b29scy90ZXN0aW5nL252ZGltbTogdW5pZnkgY29tbW9u IGluaXQgZm9yIGFjcGlfbmZpdF9kZXNjCitBS0FBb0FDZ0FLQUFvQUNnLW5maXQsIGxpYm52ZGlt bTogYXN5bmMgcmVnaW9uIHNjcnViIHdvcmtxdWV1ZQorQUtBQW9BQ2dBS0FBb0FDZy1uZml0OiBz Y3J1YiBhbmQgcmVnaXN0ZXIgcmVnaW9ucyBpbiBhIHdvcmtxdWV1ZQorQUtBQW9BQ2dBS0FBb0FD Zy1uZml0OiBkaXNhYmxlIHVzZXJzcGFjZSBpbml0aWF0ZWQgYXJzIGR1cmluZyBzY3J1YgorQUtB QW9BQ2dBS0FBb0FDZy10b29scy90ZXN0aW5nL252ZGltbTogZXhwYW5kIGFycyB1bml0IHRlc3Rp bmcKK0FLQUFvQUNnQUtBQW9BQ2ctbGlibnZkaW1tLCBwbWVtOiBmaXggJ3Bmbicgc3VwcG9ydCBm b3Igc2VjdGlvbi1taXNhbGlnbmVkIG5hbWVzcGFjZXMKK0FLQUFvQUNnQUtBQW9BQ2ctbGlibnZk aW1tLCBwbWVtOiBhZGp1c3QgZm9yIHNlY3Rpb24gY29sbGlzaW9ucyB3aXRoICdTeXN0ZW0gUkFN JworQUtBQW9BQ2dBS0FBb0FDZy1saWJudmRpbW0sIHBmbjogJ3Jlc291cmNlJy1hZGRyZXNzIGFu ZCAnc2l6ZScgYXR0cmlidXRlcyBmb3IgcGZuIGRldmljZXMKK0FLQUFvQUNnQUtBQW9BQ2ctbmZp dCwgbGlibnZkaW1tOiBjbGVhciBwb2lzb24gY29tbWFuZCBzdXBwb3J0CitBS0FBb0FDZ0FLQUFv QUNnLWxpYm52ZGltbSwgcG1lbTogZml4IGlhNjQgYnVpbGQsIHVzZSBQSFlTX1BGTgorQUtBQW9B Q2dBS0FBb0FDZy1saWJudmRpbW0sIHBtZW06IGZpeCBrbWFwX2F0b21pYygpIGxlYWsgaW4gZXJy b3IgcGF0aAorQUtBQW9BQ2dBS0FBb0FDZy1saWJudmRpbW0sIHBtZW06IGNsZWFyIHBvaXNvbiBv biB3cml0ZQorQUtBQW9BQ2dBS0FBb0FDZy1NZXJnZSBicmFuY2ggJ2Zvci00LjYvcGZuJyBpbnRv IGxpYm52ZGltbS1mb3ItbmV4dAoKSmVycnkgSG9lbWFubiAoMik6CitBS0FBb0FDZ0FLQUFvQUNn LWxpYm52ZGltbTogQ2xlYW4tdXAgYWNjZXNzIG1vZGUgY2hlY2suCitBS0FBb0FDZ0FLQUFvQUNn LWxpYm52ZGltbTogRml4IHNlY3VyaXR5IGlzc3VlIHdpdGggRFNNIElPQ1RMLgoKTmVpbEJyb3du ICgzKToKK0FLQUFvQUNnQUtBQW9BQ2ctcG1lbTogZG9uJ3QgYWxsb2NhdGUgdW51c2VkIG1ham9y IGRldmljZSBudW1iZXIKK0FLQUFvQUNnQUtBQW9BQ2ctbnZkaW1tL2JsazogZG9uJ3QgYWxsb2Nh dGUgdW51c2VkIG1ham9yIGRldmljZSBudW1iZXIKK0FLQUFvQUNnQUtBQW9BQ2ctbnZkaW1tL2J0 dDogZG9uJ3QgYWxsb2NhdGUgdW51c2VkIG1ham9yIGRldmljZSBudW1iZXIKClRvc2hpIEthbmkg KDQpOgorQUtBQW9BQ2dBS0FBb0FDZy1yZXNvdXJjZTogQ2hhbmdlIF9fcmVxdWVzdF9yZWdpb24g dG8gaW5oZXJpdCBmcm9tIGltbWVkaWF0ZSBwYXJlbnQKK0FLQUFvQUNnQUtBQW9BQ2ctcmVzb3Vy Y2U6IEFkZCByZW1vdmVfcmVzb3VyY2UgaW50ZXJmYWNlCitBS0FBb0FDZ0FLQUFvQUNnLXJlc291 cmNlOiBFeHBvcnQgaW5zZXJ0X3Jlc291cmNlIGFuZCByZW1vdmVfcmVzb3VyY2UKK0FLQUFvQUNn QUtBQW9BQ2ctQUNQSTogQ2hhbmdlIE5GSVQgZHJpdmVyIHRvIGluc2VydCBuZXcgcmVzb3VyY2UK CitBS0EtYXJjaC9hcm0va2VybmVsL3NldHVwLmMrQUtBQW9BQ2dBS0FBb0FDZ0FLQUFvQUNnQUtB QW9BQ2d8K0FLQUFvQUNnLTYgKy0tCitBS0EtYXJjaC9hcm0vcGxhdC1zYW1zdW5nL3BtLWNoZWNr LmMrQUtBQW9BQ2d8K0FLQUFvQUNnLTQgKy0tCitBS0EtYXJjaC9hcm02NC9rZXJuZWwvc2V0dXAu YytBS0FBb0FDZ0FLQUFvQUNnQUtBQW9BQ2dBS0F8K0FLQUFvQUNnLTYgKy0tCitBS0EtYXJjaC9h dnIzMi9rZXJuZWwvc2V0dXAuYytBS0FBb0FDZ0FLQUFvQUNnQUtBQW9BQ2dBS0F8K0FLQUFvQUNn LTYgKy0tCitBS0EtYXJjaC9pYTY0L2tlcm5lbC9lZmkuYytBS0FBb0FDZ0FLQUFvQUNnQUtBQW9B Q2dBS0FBb0FDZ0FLQXwrQUtBQW9BLTEzICstLQorQUtBLWFyY2gvaWE2NC9rZXJuZWwvc2V0dXAu YytBS0FBb0FDZ0FLQUFvQUNnQUtBQW9BQ2dBS0FBb0F8K0FLQUFvQUNnLTYgKy0tCitBS0EtYXJj aC9tMzJyL2tlcm5lbC9zZXR1cC5jK0FLQUFvQUNnQUtBQW9BQ2dBS0FBb0FDZ0FLQUFvQXwrQUtB QW9BQ2ctNCArLS0KK0FLQS1hcmNoL21pcHMva2VybmVsL3NldHVwLmMrQUtBQW9BQ2dBS0FBb0FD Z0FLQUFvQUNnQUtBQW9BfCtBS0FBb0EtMTAgKy0tCitBS0EtYXJjaC9wYXJpc2MvbW0vaW5pdC5j K0FLQUFvQUNnQUtBQW9BQ2dBS0FBb0FDZ0FLQUFvQUNnQUtBQW9BfCtBS0FBb0FDZy02ICstLQor QUtBLWFyY2gvcG93ZXJwYy9tbS9tZW0uYytBS0FBb0FDZ0FLQUFvQUNnQUtBQW9BQ2dBS0FBb0FD Z0FLQUFvQXwrQUtBQW9BQ2ctMiArLS0KK0FLQS1hcmNoL3MzOTAva2VybmVsL3NldHVwLmMrQUtB QW9BQ2dBS0FBb0FDZ0FLQUFvQUNnQUtBQW9BfCtBS0FBb0FDZy04ICstLQorQUtBLWFyY2gvc2Nv cmUva2VybmVsL3NldHVwLmMrQUtBQW9BQ2dBS0FBb0FDZ0FLQUFvQUNnQUtBfCtBS0FBb0FDZy0y ICstLQorQUtBLWFyY2gvc2gva2VybmVsL3NldHVwLmMrQUtBQW9BQ2dBS0FBb0FDZ0FLQUFvQUNn QUtBQW9BQ2dBS0F8K0FLQUFvQUNnLTggKy0tCitBS0EtYXJjaC9zcGFyYy9tbS9pbml0XzY0LmMr QUtBQW9BQ2dBS0FBb0FDZ0FLQUFvQUNnQUtBQW9BQ2d8K0FLQUFvQUNnLTggKy0tCitBS0EtYXJj aC90aWxlL2tlcm5lbC9zZXR1cC5jK0FLQUFvQUNnQUtBQW9BQ2dBS0FBb0FDZ0FLQUFvQXwrQUtB QW9BLTExICstLQorQUtBLWFyY2gvdW5pY29yZTMyL2tlcm5lbC9zZXR1cC5jK0FLQUFvQUNnQUtB QW9BQ2d8K0FLQUFvQUNnLTYgKy0tCitBS0EtYXJjaC94ODYvaW5jbHVkZS9hc20vcG1lbS5oK0FL QUFvQUNnQUtBQW9BQ2dBS0FBb0F8K0FLQUFvQUNnLTUgKy0KK0FLQS1hcmNoL3g4Ni9rZXJuZWwv Y3Jhc2guYytBS0FBb0FDZ0FLQUFvQUNnQUtBQW9BQ2dBS0FBb0FDZ3wrQUtBQW9BLTQxICstLQor QUtBLWFyY2gveDg2L2tlcm5lbC9lODIwLmMrQUtBQW9BQ2dBS0FBb0FDZ0FLQUFvQUNnQUtBQW9B Q2dBS0F8K0FLQUFvQS0zOCArLS0KK0FLQS1hcmNoL3g4Ni9rZXJuZWwvcG1lbS5jK0FLQUFvQUNn QUtBQW9BQ2dBS0FBb0FDZ0FLQUFvQUNnQUtBfCtBS0FBb0FDZy00ICstLQorQUtBLWFyY2gveDg2 L2tlcm5lbC9zZXR1cC5jK0FLQUFvQUNnQUtBQW9BQ2dBS0FBb0FDZ0FLQUFvQUNnfCtBS0FBb0FD Zy02ICstLQorQUtBLWRyaXZlcnMvYWNwaS9hY3BpX3BsYXRmb3JtLmMrQUtBQW9BQ2dBS0FBb0FD Z0FLQXwrQUtBQW9BQ2ctMiArLS0KK0FLQS1kcml2ZXJzL2FjcGkvYXBlaS9laW5qLmMrQUtBQW9B Q2dBS0FBb0FDZ0FLQUFvQUNnQUtBQW9BfCtBS0FBb0EtMTUgKy0tCitBS0EtZHJpdmVycy9hY3Bp L25maXQuYytBS0FBb0FDZ0FLQUFvQUNnQUtBQW9BQ2dBS0FBb0FDZ0FLQUFvQUNnQUtBfCA3OTgg Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstLS0t LS0tLS0tLQorQUtBLWRyaXZlcnMvYWNwaS9uZml0LmgrQUtBQW9BQ2dBS0FBb0FDZ0FLQUFvQUNn QUtBQW9BQ2dBS0FBb0FDZ0FLQXwrQUtBQW9BLTMwICstLQorQUtBLWRyaXZlcnMvbnZkaW1tL2Js ay5jK0FLQUFvQUNnQUtBQW9BQ2dBS0FBb0FDZ0FLQUFvQUNnQUtBQW9BQ2d8K0FLQUFvQS0xOCAr LS0KK0FLQS1kcml2ZXJzL252ZGltbS9idHQuYytBS0FBb0FDZ0FLQUFvQUNnQUtBQW9BQ2dBS0FB b0FDZ0FLQUFvQUNnfCtBS0FBb0EtMTkgKy0tCitBS0EtZHJpdmVycy9udmRpbW0vYnVzLmMrQUtB QW9BQ2dBS0FBb0FDZ0FLQUFvQUNnQUtBQW9BQ2dBS0FBb0FDZ3wgMTMxICstKy0rLSstKy0tCitB S0EtZHJpdmVycy9udmRpbW0vY29yZS5jK0FLQUFvQUNnQUtBQW9BQ2dBS0FBb0FDZ0FLQUFvQUNn QUtBQW9BfCAxMTAgKy0rLSstLS0KK0FLQS1kcml2ZXJzL252ZGltbS9kaW1tX2RldnMuYytBS0FB b0FDZ0FLQUFvQUNnQUtBQW9BQ2d8K0FLQUFvQUNnLTYgKy0tCitBS0EtZHJpdmVycy9udmRpbW0v ZTgyMC5jK0FLQUFvQUNnQUtBQW9BQ2dBS0FBb0FDZ0FLQUFvQUNnQUtBQW9BfCtBS0FBb0FDZy0y ICstLQorQUtBLWRyaXZlcnMvbnZkaW1tL25hbWVzcGFjZV9kZXZzLmMrQUtBQW9BQ2dBS0F8K0FL QUFvQUNnLTcgKy0KK0FLQS1kcml2ZXJzL252ZGltbS9uZC5oK0FLQUFvQUNnQUtBQW9BQ2dBS0FB b0FDZ0FLQUFvQUNnQUtBQW9BQ2dBS0F8K0FLQUFvQUNnLTQgKy0KK0FLQS1kcml2ZXJzL252ZGlt bS9wZm4uaCtBS0FBb0FDZ0FLQUFvQUNnQUtBQW9BQ2dBS0FBb0FDZ0FLQUFvQUNnfCtBS0FBb0Et MjMgKy0tCitBS0EtZHJpdmVycy9udmRpbW0vcGZuX2RldnMuYytBS0FBb0FDZ0FLQUFvQUNnQUtB QW9BQ2dBS0F8K0FLQUFvQS02MSArLSstKy0KK0FLQS1kcml2ZXJzL252ZGltbS9wbWVtLmMrQUtB QW9BQ2dBS0FBb0FDZ0FLQUFvQUNnQUtBQW9BQ2dBS0FBb0F8IDIxOSArLSstKy0rLSstKy0rLS0t LQorQUtBLWRyaXZlcnMvbnZkaW1tL3JlZ2lvbi5jK0FLQUFvQUNnQUtBQW9BQ2dBS0FBb0FDZ0FL QUFvQUNnfCtBS0FBb0EtMTIgKy0KK0FLQS1kcml2ZXJzL3BhcmlzYy9laXNhX2VudW1lcmF0b3Iu YytBS0FBb0FDZ3wrQUtBQW9BQ2ctNCArLS0KK0FLQS1kcml2ZXJzL3JhcGlkaW8vcmlvLmMrQUtB QW9BQ2dBS0FBb0FDZ0FLQUFvQUNnQUtBQW9BQ2dBS0FBb0F8K0FLQUFvQUNnLTggKy0tCitBS0Et ZHJpdmVycy9zaC9zdXBlcmh5d2F5L3N1cGVyaHl3YXkuYyB8K0FLQUFvQUNnLTIgKy0tCitBS0Et ZHJpdmVycy94ZW4vYmFsbG9vbi5jK0FLQUFvQUNnQUtBQW9BQ2dBS0FBb0FDZ0FLQUFvQUNnQUtB QW9BfCtBS0FBb0FDZy0yICstLQorQUtBLWluY2x1ZGUvbGludXgvaW9wb3J0LmgrQUtBQW9BQ2dB S0FBb0FDZ0FLQUFvQUNnQUtBQW9BQ2dBS0F8K0FLQUFvQS0zNCArLS0KK0FLQS1pbmNsdWRlL2xp bnV4L2xpYm52ZGltbS5oK0FLQUFvQUNnQUtBQW9BQ2dBS0FBb0FDZ0FLQXwrQUtBQW9BQ2ctNSAr LS0KK0FLQS1pbmNsdWRlL2xpbnV4L21tLmgrQUtBQW9BQ2dBS0FBb0FDZ0FLQUFvQUNnQUtBQW9B Q2dBS0FBb0FDZ0FLQUFvQXwrQUtBQW9BQ2ctMyArLS0KK0FLQS1pbmNsdWRlL2xpbnV4L25kLmgr QUtBQW9BQ2dBS0FBb0FDZ0FLQUFvQUNnQUtBQW9BQ2dBS0FBb0FDZ0FLQUFvQXwrQUtBQW9BQ2ct NyArLQorQUtBLWluY2x1ZGUvbGludXgvcG1lbS5oK0FLQUFvQUNnQUtBQW9BQ2dBS0FBb0FDZ0FL QUFvQUNnQUtBQW9BQ2d8K0FLQUFvQS0xOSArLQorQUtBLWluY2x1ZGUvdWFwaS9saW51eC9uZGN0 bC5oK0FLQUFvQUNnQUtBQW9BQ2dBS0FBb0FDZ3wrQUtBQW9BLTEzICstCitBS0Eta2VybmVsL2tl eGVjX2NvcmUuYytBS0FBb0FDZ0FLQUFvQUNnQUtBQW9BQ2dBS0FBb0FDZ0FLQUFvQUNnQUtBfCtB S0FBb0FDZy04ICstLQorQUtBLWtlcm5lbC9rZXhlY19maWxlLmMrQUtBQW9BQ2dBS0FBb0FDZ0FL QUFvQUNnQUtBQW9BQ2dBS0FBb0FDZ0FLQXwrQUtBQW9BQ2ctOCArLS0KK0FLQS1rZXJuZWwvbWVt cmVtYXAuYytBS0FBb0FDZ0FLQUFvQUNnQUtBQW9BQ2dBS0FBb0FDZ0FLQUFvQUNnQUtBQW9BQ2d8 K0FLQUFvQS0xMyArLS0KK0FLQS1rZXJuZWwvcmVzb3VyY2UuYytBS0FBb0FDZ0FLQUFvQUNnQUtB QW9BQ2dBS0FBb0FDZ0FLQUFvQUNnQUtBQW9BQ2d8IDE0OSArLSstKy0rLSstLS0KK0FLQS1tbS9t ZW1vcnlfaG90cGx1Zy5jK0FLQUFvQUNnQUtBQW9BQ2dBS0FBb0FDZ0FLQUFvQUNnQUtBQW9BQ2dB S0F8K0FLQUFvQUNnLTIgKy0tCitBS0EtdG9vbHMvdGVzdGluZy9udmRpbW0vdGVzdC9uZml0LmMr QUtBQW9BQ2d8IDI4NSArLSstKy0rLSstKy0rLSstKy0rLS0tLQorQUtBLTUzIGZpbGVzIGNoYW5n ZWQsIDE2MjMgaW5zZXJ0aW9ucygrLSksIDU5NiBkZWxldGlvbnMoLSkKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTGludXgtbnZkaW1tIG1haWxpbmcgbGlz dApMaW51eC1udmRpbW1AbGlzdHMuMDEub3JnCmh0dHBzOi8vbGlzdHMuMDEub3JnL21haWxtYW4v bGlzdGluZm8vbGludXgtbnZkaW1tCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965734AbcCOSso (ORCPT ); Tue, 15 Mar 2016 14:48:44 -0400 Received: from mga11.intel.com ([192.55.52.93]:35690 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751133AbcCOSsl convert rfc822-to-8bit (ORCPT ); Tue, 15 Mar 2016 14:48:41 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.24,340,1455004800"; d="scan'208";a="934485975" From: "Williams, Dan J" To: "torvalds@linux-foundation.org" , "mingo@kernel.org" , "akpm@linux-foundation.org" CC: "linux-kernel@vger.kernel.org" , "linux-nvdimm@lists.01.org" , "toshi.kani@hpe.com" , "linux-acpi@vger.kernel.org" Subject: [GIT PULL] libnvdimm for 4.6 Thread-Topic: [GIT PULL] libnvdimm for 4.6 Thread-Index: AQHRfutKHvF2oydt9kugYu0lzxU+NA== Date: Tue, 15 Mar 2016 18:48:40 +0000 Message-ID: <1458067720.11591.17.camel@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.7.201.27] Content-Type: text/plain; charset="utf-7" Content-ID: Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Linus, please pull from... +AKA- git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm tags/libnvdimm-for-4.6 ...to receive the libnvdimm update for 4.6. This has appeared in -next with no reported issues, and a test merge with latest master passes the regression tests. +AKA-Note that this includes development that was based on the tip/core/resources branch which you merged yesterday. +AKA-The post merge diffstat is cleaner than the 6e2452dff444..libnvdimm-for-4.6 diffstat that +ACI-git request-pull+ACI- picked. +AKA-arch/x86/include/asm/pmem.h+AKAAoACgAKAAoACgAHwAoACgAKA-5 +- +AKA-drivers/acpi/nfit.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8- 798 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--------------- +AKA-drivers/acpi/nfit.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoA-30 +-- +AKA-drivers/nvdimm/blk.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKA-18 +-- +AKA-drivers/nvdimm/btt.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKA-19 +-- +AKA-drivers/nvdimm/bus.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfA- 131 +-+-+-+-+-+-+--- +AKA-drivers/nvdimm/core.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAHw- 110 +-+-+-+-+---- +AKA-drivers/nvdimm/dimm+AF8-devs.c+AKAAoACgAKAAoACgAKAAfACgAKAAoA-6 +-- +AKA-drivers/nvdimm/namespace+AF8-devs.c+AKAAoAB8AKAAoACg-7 +- +AKA-drivers/nvdimm/nd.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoACg-4 +- +AKA-drivers/nvdimm/pfn.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKA-23 +-- +AKA-drivers/nvdimm/pfn+AF8-devs.c+AKAAoACgAKAAoACgAKAAoAB8AKAAoA-61 +-+-+-+- +AKA-drivers/nvdimm/pmem.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAHw- 219 +-+-+-+-+-+-+-+-+-+-+----- +AKA-drivers/nvdimm/region.c+AKAAoACgAKAAoACgAKAAoACgAKAAfACgAKA-12 +- +AKA-include/linux/ioport.h+AKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoACg-1 +- +AKA-include/linux/libnvdimm.h+AKAAoACgAKAAoACgAKAAoAB8AKAAoACg-5 +-- +AKA-include/linux/nd.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACgAKA-7 +- +AKA-include/linux/pmem.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKA-19 +-+- +AKA-include/uapi/linux/ndctl.h+AKAAoACgAKAAoACgAKAAfACgAKA-13 +- +AKA-kernel/resource.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKA-60 +-+-+-- +AKA-tools/testing/nvdimm/test/nfit.c +AHw- 285 +-+-+-+-+-+-+-+-+-+-+-+-+-+------ +AKA-21 files changed, 1394 insertions(+-), 439 deletions(-) The following changes since commit 6e2452dff4441e3dc24d415c8b2cda8a3ba52116: +AKA- nfit: Continue init even if ARS commands are unimplemented (2016-03-04 16:46:13 -0800) are available in the git repository at: +AKA- git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm tags/libnvdimm-for-4.6 for you to fetch changes up to 489011652a2d5555901def04c24d68874e8ba9a1: +AKA- Merge branch 'for-4.6/pfn' into libnvdimm-for-next (2016-03-09 17:15:43 -0800) ---------------------------------------------------------------- libnvdimm for 4.6 1/ Asynchronous address range scrub: Given the capacities of next generation persistent memory devices a scrub operation to find all poison may take 10s of seconds.+AKAAoA-We want this scrub work to be done asynchronously with the rest of system initialization, so we move it out of line from the NFIT probing, i.e. acpi+AF8-nfit+AF8-add(). 2/ Clear poison: ACPI 6.1 introduces the ability to send +ACI-clear error+ACI- commands to the ACPI0012:00 device representing the root of an +ACI-nvdimm bus+ACI-.+AKAAoA-Similar to relocating a bad block on a disk, this support clears media errors in response to a write. 3/ Persistent memory resource tracking: A persistent memory range may be designated as simply +ACI-reserved+ACI- by platform firmware in the efi/e820 memory map.+AKAAoA-Later when the NFIT driver loads it discovers that the range is +ACI-Persistent Memory+ACI-.+AKAAoA-The NFIT bus driver inserts a resource to advertise that +ACI-persistent+ACI- attribute in the system resource tree for /proc/iomem and kernel-internal usages. 4/ Miscellaneous cleanups and fixes: Workaround section misaligned pmem ranges when allocating a struct page memmap, fix handling of the read-only case in the ioctl path, and clean up block device major number allocation. ---------------------------------------------------------------- Dan Williams (18): +AKAAoACgAKAAoACg-nfit, tools/testing/nvdimm: add format interface code definitions +AKAAoACgAKAAoACg-nfit, tools/testing/nvdimm: test multiple control regions per-dimm +AKAAoACgAKAAoACg-libnvdimm, nfit: centralize command status translation +AKAAoACgAKAAoACg-libnvdimm: protect nvdimm+AF8Aew-bus+AHw-namespace+AH0AXw-add+AF8-poison() with nvdimm+AF8-bus+AF8-lock() +AKAAoACgAKAAoACg-libnvdimm: async notification support +AKAAoACgAKAAoACg-nfit, tools/testing/nvdimm: unify common init for acpi+AF8-nfit+AF8-desc +AKAAoACgAKAAoACg-nfit, libnvdimm: async region scrub workqueue +AKAAoACgAKAAoACg-nfit: scrub and register regions in a workqueue +AKAAoACgAKAAoACg-nfit: disable userspace initiated ars during scrub +AKAAoACgAKAAoACg-tools/testing/nvdimm: expand ars unit testing +AKAAoACgAKAAoACg-libnvdimm, pmem: fix 'pfn' support for section-misaligned namespaces +AKAAoACgAKAAoACg-libnvdimm, pmem: adjust for section collisions with 'System RAM' +AKAAoACgAKAAoACg-libnvdimm, pfn: 'resource'-address and 'size' attributes for pfn devices +AKAAoACgAKAAoACg-nfit, libnvdimm: clear poison command support +AKAAoACgAKAAoACg-libnvdimm, pmem: fix ia64 build, use PHYS+AF8-PFN +AKAAoACgAKAAoACg-libnvdimm, pmem: fix kmap+AF8-atomic() leak in error path +AKAAoACgAKAAoACg-libnvdimm, pmem: clear poison on write +AKAAoACgAKAAoACg-Merge branch 'for-4.6/pfn' into libnvdimm-for-next Jerry Hoemann (2): +AKAAoACgAKAAoACg-libnvdimm: Clean-up access mode check. +AKAAoACgAKAAoACg-libnvdimm: Fix security issue with DSM IOCTL. NeilBrown (3): +AKAAoACgAKAAoACg-pmem: don't allocate unused major device number +AKAAoACgAKAAoACg-nvdimm/blk: don't allocate unused major device number +AKAAoACgAKAAoACg-nvdimm/btt: don't allocate unused major device number Toshi Kani (4): +AKAAoACgAKAAoACg-resource: Change +AF8AXw-request+AF8-region to inherit from immediate parent +AKAAoACgAKAAoACg-resource: Add remove+AF8-resource interface +AKAAoACgAKAAoACg-resource: Export insert+AF8-resource and remove+AF8-resource +AKAAoACgAKAAoACg-ACPI: Change NFIT driver to insert new resource +AKA-arch/arm/kernel/setup.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACgAKA-6 +-- +AKA-arch/arm/plat-samsung/pm-check.c+AKAAoACgAHwAoACgAKA-4 +-- +AKA-arch/arm64/kernel/setup.c+AKAAoACgAKAAoACgAKAAoACgAKAAfACgAKAAoA-6 +-- +AKA-arch/avr32/kernel/setup.c+AKAAoACgAKAAoACgAKAAoACgAKAAfACgAKAAoA-6 +-- +AKA-arch/ia64/kernel/efi.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKA-13 +-- +AKA-arch/ia64/kernel/setup.c+AKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoACg-6 +-- +AKA-arch/m32r/kernel/setup.c+AKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoACg-4 +-- +AKA-arch/mips/kernel/setup.c+AKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoA-10 +-- +AKA-arch/parisc/mm/init.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoACg-6 +-- +AKA-arch/powerpc/mm/mem.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoACg-2 +-- +AKA-arch/s390/kernel/setup.c+AKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoACg-8 +-- +AKA-arch/score/kernel/setup.c+AKAAoACgAKAAoACgAKAAoACgAKAAfACgAKAAoA-2 +-- +AKA-arch/sh/kernel/setup.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKAAoA-8 +-- +AKA-arch/sparc/mm/init+AF8-64.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACgAKA-8 +-- +AKA-arch/tile/kernel/setup.c+AKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoA-11 +-- +AKA-arch/unicore32/kernel/setup.c+AKAAoACgAKAAoACgAHwAoACgAKA-6 +-- +AKA-arch/x86/include/asm/pmem.h+AKAAoACgAKAAoACgAKAAoAB8AKAAoACg-5 +- +AKA-arch/x86/kernel/crash.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACg-41 +-- +AKA-arch/x86/kernel/e820.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKA-38 +-- +AKA-arch/x86/kernel/pmem.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKAAoA-4 +-- +AKA-arch/x86/kernel/setup.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACgAKA-6 +-- +AKA-drivers/acpi/acpi+AF8-platform.c+AKAAoACgAKAAoACgAKAAfACgAKAAoA-2 +-- +AKA-drivers/acpi/apei/einj.c+AKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoA-15 +-- +AKA-drivers/acpi/nfit.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfA- 798 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+----------- +AKA-drivers/acpi/nfit.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKA-30 +-- +AKA-drivers/nvdimm/blk.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACg-18 +-- +AKA-drivers/nvdimm/btt.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACg-19 +-- +AKA-drivers/nvdimm/bus.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAHw- 131 +-+-+-+-+-- +AKA-drivers/nvdimm/core.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8- 110 +-+-+--- +AKA-drivers/nvdimm/dimm+AF8-devs.c+AKAAoACgAKAAoACgAKAAoACgAHwAoACgAKA-6 +-- +AKA-drivers/nvdimm/e820.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoACg-2 +-- +AKA-drivers/nvdimm/namespace+AF8-devs.c+AKAAoACgAKAAfACgAKAAoA-7 +- +AKA-drivers/nvdimm/nd.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKAAoA-4 +- +AKA-drivers/nvdimm/pfn.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACg-23 +-- +AKA-drivers/nvdimm/pfn+AF8-devs.c+AKAAoACgAKAAoACgAKAAoACgAKAAfACgAKA-61 +-+-+- +AKA-drivers/nvdimm/pmem.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8- 219 +-+-+-+-+-+-+---- +AKA-drivers/nvdimm/region.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACg-12 +- +AKA-drivers/parisc/eisa+AF8-enumerator.c+AKAAoACgAHwAoACgAKA-4 +-- +AKA-drivers/rapidio/rio.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoACg-8 +-- +AKA-drivers/sh/superhyway/superhyway.c +AHwAoACgAKA-2 +-- +AKA-drivers/xen/balloon.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoACg-2 +-- +AKA-include/linux/ioport.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKA-34 +-- +AKA-include/linux/libnvdimm.h+AKAAoACgAKAAoACgAKAAoACgAKAAfACgAKAAoA-5 +-- +AKA-include/linux/mm.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoACg-3 +-- +AKA-include/linux/nd.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoACg-7 +- +AKA-include/linux/pmem.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACg-19 +- +AKA-include/uapi/linux/ndctl.h+AKAAoACgAKAAoACgAKAAoACgAHwAoACg-13 +- +AKA-kernel/kexec+AF8-core.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKAAoA-8 +-- +AKA-kernel/kexec+AF8-file.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKAAoA-8 +-- +AKA-kernel/memremap.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACg-13 +-- +AKA-kernel/resource.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAHw- 149 +-+-+-+-+--- +AKA-mm/memory+AF8-hotplug.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKAAoA-2 +-- +AKA-tools/testing/nvdimm/test/nfit.c+AKAAoACgAHw- 285 +-+-+-+-+-+-+-+-+-+---- +AKA-53 files changed, 1623 insertions(+-), 596 deletions(-)