Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update from base #17

Merged
merged 57 commits into from
Mar 4, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
20e6bb1
watchdog: rave-sp: add NVMEM dependency
arndb Jan 15, 2018
7e2e515
watchdog: i6300esb: fix build failure
teknoraver Feb 19, 2018
4cd6764
watchdog: xen_wdt: fix potential build failure
rrendec Feb 19, 2018
a17f4f0
watchdog: sp5100_tco.c: fix potential build failure
Feb 19, 2018
6d516d6
PCI: Update location of pci.ids file
rddunlap Feb 22, 2018
80dfd71
media: videobuf2: Add VIDEOBUF2_V4L2 Kconfig option for VB2 V4L2 part
Feb 23, 2018
e77c31e
media: videobuf2: fix build issues with vb2-trace
mchehab Feb 23, 2018
ec5b100
media: dvb: fix DVB_MMAP symbol name
arndb Jan 4, 2018
85e60bd
media: dvb: fix DVB_MMAP dependency
arndb Jan 4, 2018
0066c76
media: au0828: add VIDEO_V4L2 dependency
arndb Jan 4, 2018
b9c97c6
media: m88ds3103: don't call a non-initalized function
mchehab Feb 10, 2018
a145f64
media: dmxdev: fix error code for invalid ioctls
mchehab Feb 11, 2018
0b23498
media: dmxdev: Fix the logic that enables DMA mmap support
mchehab Feb 9, 2018
9c171cd
media: dvb: add continuity error indicators for memory mapped buffers
mchehab Feb 9, 2018
fdbeb96
media: dvb: update buffer mmaped flags and frame counter
mchehab Feb 9, 2018
3dd6b56
media: Don't let tvp5150_get_vbi() go out of vbi_ram_default array
mchehab Feb 19, 2018
7dbdd16
media: vb2: Makefile: place vb2-trace together with vb2-core
mchehab Feb 26, 2018
9d4949b
dax: ->direct_access does not sleep anymore
Boaz17 Feb 26, 2018
230f5a8
dax: fix vma_is_fsdax() helper
djbw Feb 22, 2018
c37406e
PCI: Allow release of resources that were never assigned
Feb 26, 2018
377999c
dt-bindings: at24: sort manufacturers alphabetically
peda-r Jan 16, 2018
6127798
Makefile: Fix lying comment re. silentoldconfig
ulfalizer Feb 13, 2018
6c49f35
kbuild: disable sparse warnings about unknown attributes
lucvoo Feb 15, 2018
cd81fc8
kconfig: add xstrdup() helper
masahir0y Feb 16, 2018
801e459
KVM: x86: Add a framework for supporting MSR-based features
tlendacky Feb 21, 2018
d1d93fa
KVM: SVM: Add MSR-based feature support for serializing LFENCE
tlendacky Feb 23, 2018
66421c1
KVM: X86: Introduce kvm_get_msr_feature()
Feb 28, 2018
518e7b9
KVM: X86: Allow userspace to define the microcode version
Feb 28, 2018
b7e31be
KVM: x86: fix vcpu initialization with userspace lapic
rkrcmar Mar 1, 2018
f4bc1ee
kconfig: set SYMBOL_AUTO to the symbol marked with defconfig_list
masahir0y Feb 16, 2018
1b1e4ee
sh: fix build error for empty CONFIG_BUILTIN_DTB_SOURCE
masahir0y Feb 19, 2018
bf0bbdc
kconfig: Don't leak choice names during parsing
masahir0y Feb 20, 2018
a7b151f
kbuild: drop superfluous GCC_PLUGINS_CFLAGS assignment
Feb 21, 2018
0da4fab
kbuild: test --build-id linker flag by ld-option instead of cc-ldoption
masahir0y Feb 23, 2018
cbf7a90
kbuild/kallsyms: trivial typo fix
Feb 27, 2018
1a90ce3
kconfig: Update ncurses package names for menuconfig
aprasanna Feb 28, 2018
0adb24e
parisc: Fix ordering of cache and TLB flushes
danglin44 Feb 27, 2018
fd8d0ca
parisc: Hide virtual kernel memory layout
hdeller Jan 12, 2018
0ed1fe4
parisc: Check if secondary CPUs want own PDC calls
hdeller Jan 12, 2018
5ffa851
parisc: Use cr16 interval timers unconditionally on qemu
hdeller Jan 12, 2018
636a415
parisc: Reduce irq overhead when run in qemu
hdeller Feb 12, 2018
1a0e3a3
Merge tag 'at24-4.16-rc4-for-wolfram' of git://git.kernel.org/pub/scm…
Mar 2, 2018
7c42467
i2c: octeon: Prevent error message on bus error
Feb 27, 2018
a11761c
Coccinelle: memdup: Fix typo in warning messages
Mar 1, 2018
5ae6fcc
kconfig: fix line number in recursive inclusion error message
masahir0y Mar 2, 2018
5fbdefc
Merge branch 'parisc-4.16-1' of git://git.kernel.org/pub/scm/linux/ke…
torvalds Mar 2, 2018
329ad5e
Merge tag 'pci-v4.16-fixes-2' of git://git.kernel.org/pub/scm/linux/k…
torvalds Mar 3, 2018
94db151
vfio: disable filesystem-dax page pinning
djbw Feb 4, 2018
50186e1
MAINTAINERS: take over Kconfig maintainership
masahir0y Mar 2, 2018
5fdf8e5
libnvdimm: re-enable deep flush for pmem devices via fsync()
davejiang Mar 3, 2018
949b932
memremap: fix softlockup reports at teardown
djbw Feb 7, 2018
03a6c25
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
torvalds Mar 3, 2018
d6d0972
Merge tag 'linux-watchdog-4.16-fixes-1' of git://www.linux-watchdog.o…
torvalds Mar 3, 2018
7cf901b
Merge tag 'media/v4.16-3' of git://git.kernel.org/pub/scm/linux/kerne…
torvalds Mar 3, 2018
0eb3412
Merge tag 'kbuild-fixes-v4.16' of git://git.kernel.org/pub/scm/linux/…
torvalds Mar 3, 2018
20f1417
Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/…
torvalds Mar 3, 2018
58bdf60
Merge branch 'i2c/for-current-fixed' of git://git.kernel.org/pub/scm/…
torvalds Mar 3, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion Documentation/PCI/pci.txt
Original file line number Diff line number Diff line change
Expand Up @@ -570,7 +570,9 @@ your driver if they're helpful, or just use plain hex constants.
The device IDs are arbitrary hex numbers (vendor controlled) and normally used
only in a single location, the pci_device_id table.

Please DO submit new vendor/device IDs to http://pciids.sourceforge.net/.
Please DO submit new vendor/device IDs to http://pci-ids.ucw.cz/.
There are mirrors of the pci.ids file at http://pciids.sourceforge.net/
and https://github.com/pciutils/pciids.



Expand Down
2 changes: 1 addition & 1 deletion Documentation/devicetree/bindings/eeprom/at24.txt
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,9 @@ Required properties:

"catalyst",
"microchip",
"nxp",
"ramtron",
"renesas",
"nxp",
"st",

Some vendors use different model names for chips which are just
Expand Down
14 changes: 10 additions & 4 deletions Documentation/media/dmx.h.rst.exceptions
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,15 @@ replace typedef dmx_filter_t :c:type:`dmx_filter`
replace typedef dmx_pes_type_t :c:type:`dmx_pes_type`
replace typedef dmx_input_t :c:type:`dmx_input`

ignore symbol DMX_OUT_DECODER
ignore symbol DMX_OUT_TAP
ignore symbol DMX_OUT_TS_TAP
ignore symbol DMX_OUT_TSDEMUX_TAP
replace symbol DMX_BUFFER_FLAG_HAD_CRC32_DISCARD :c:type:`dmx_buffer_flags`
replace symbol DMX_BUFFER_FLAG_TEI :c:type:`dmx_buffer_flags`
replace symbol DMX_BUFFER_PKT_COUNTER_MISMATCH :c:type:`dmx_buffer_flags`
replace symbol DMX_BUFFER_FLAG_DISCONTINUITY_DETECTED :c:type:`dmx_buffer_flags`
replace symbol DMX_BUFFER_FLAG_DISCONTINUITY_INDICATOR :c:type:`dmx_buffer_flags`

replace symbol DMX_OUT_DECODER :c:type:`dmx_output`
replace symbol DMX_OUT_TAP :c:type:`dmx_output`
replace symbol DMX_OUT_TS_TAP :c:type:`dmx_output`
replace symbol DMX_OUT_TSDEMUX_TAP :c:type:`dmx_output`

replace ioctl DMX_DQBUF dmx_qbuf
7 changes: 4 additions & 3 deletions Documentation/media/uapi/dvb/dmx-qbuf.rst
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,10 @@ out to disk. Buffers remain locked until dequeued, until the
the device is closed.

Applications call the ``DMX_DQBUF`` ioctl to dequeue a filled
(capturing) buffer from the driver's outgoing queue. They just set the ``reserved`` field array to zero. When ``DMX_DQBUF`` is called with a
pointer to this structure, the driver fills the remaining fields or
returns an error code.
(capturing) buffer from the driver's outgoing queue.
They just set the ``index`` field withe the buffer ID to be queued.
When ``DMX_DQBUF`` is called with a pointer to struct :c:type:`dmx_buffer`,
the driver fills the remaining fields or returns an error code.

By default ``DMX_DQBUF`` blocks when no buffer is in the outgoing
queue. When the ``O_NONBLOCK`` flag was given to the
Expand Down
40 changes: 28 additions & 12 deletions Documentation/virtual/kvm/api.txt
Original file line number Diff line number Diff line change
Expand Up @@ -123,14 +123,15 @@ memory layout to fit in user mode), check KVM_CAP_MIPS_VZ and use the
flag KVM_VM_MIPS_VZ.


4.3 KVM_GET_MSR_INDEX_LIST
4.3 KVM_GET_MSR_INDEX_LIST, KVM_GET_MSR_FEATURE_INDEX_LIST

Capability: basic
Capability: basic, KVM_CAP_GET_MSR_FEATURES for KVM_GET_MSR_FEATURE_INDEX_LIST
Architectures: x86
Type: system
Type: system ioctl
Parameters: struct kvm_msr_list (in/out)
Returns: 0 on success; -1 on error
Errors:
EFAULT: the msr index list cannot be read from or written to
E2BIG: the msr index list is to be to fit in the array specified by
the user.

Expand All @@ -139,16 +140,23 @@ struct kvm_msr_list {
__u32 indices[0];
};

This ioctl returns the guest msrs that are supported. The list varies
by kvm version and host processor, but does not change otherwise. The
user fills in the size of the indices array in nmsrs, and in return
kvm adjusts nmsrs to reflect the actual number of msrs and fills in
the indices array with their numbers.
The user fills in the size of the indices array in nmsrs, and in return
kvm adjusts nmsrs to reflect the actual number of msrs and fills in the
indices array with their numbers.

KVM_GET_MSR_INDEX_LIST returns the guest msrs that are supported. The list
varies by kvm version and host processor, but does not change otherwise.

Note: if kvm indicates supports MCE (KVM_CAP_MCE), then the MCE bank MSRs are
not returned in the MSR list, as different vcpus can have a different number
of banks, as set via the KVM_X86_SETUP_MCE ioctl.

KVM_GET_MSR_FEATURE_INDEX_LIST returns the list of MSRs that can be passed
to the KVM_GET_MSRS system ioctl. This lets userspace probe host capabilities
and processor features that are exposed via MSRs (e.g., VMX capabilities).
This list also varies by kvm version and host processor, but does not change
otherwise.


4.4 KVM_CHECK_EXTENSION

Expand Down Expand Up @@ -475,14 +483,22 @@ Support for this has been removed. Use KVM_SET_GUEST_DEBUG instead.

4.18 KVM_GET_MSRS

Capability: basic
Capability: basic (vcpu), KVM_CAP_GET_MSR_FEATURES (system)
Architectures: x86
Type: vcpu ioctl
Type: system ioctl, vcpu ioctl
Parameters: struct kvm_msrs (in/out)
Returns: 0 on success, -1 on error
Returns: number of msrs successfully returned;
-1 on error

When used as a system ioctl:
Reads the values of MSR-based features that are available for the VM. This
is similar to KVM_GET_SUPPORTED_CPUID, but it returns MSR indices and values.
The list of msr-based features can be obtained using KVM_GET_MSR_FEATURE_INDEX_LIST
in a system ioctl.

When used as a vcpu ioctl:
Reads model-specific registers from the vcpu. Supported msr indices can
be obtained using KVM_GET_MSR_INDEX_LIST.
be obtained using KVM_GET_MSR_INDEX_LIST in a system ioctl.

struct kvm_msrs {
__u32 nmsrs; /* number of msrs in entries */
Expand Down
4 changes: 3 additions & 1 deletion MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -7602,8 +7602,10 @@ F: mm/kasan/
F: scripts/Makefile.kasan

KCONFIG
M: Masahiro Yamada <yamada.masahiro@socionext.com>
T: git git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git kconfig
L: linux-kbuild@vger.kernel.org
S: Orphan
S: Maintained
F: Documentation/kbuild/kconfig-language.txt
F: scripts/kconfig/

Expand Down
12 changes: 5 additions & 7 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -388,7 +388,7 @@ PYTHON = python
CHECK = sparse

CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \
-Wbitwise -Wno-return-void $(CF)
-Wbitwise -Wno-return-void -Wno-unknown-attribute $(CF)
NOSTDINC_FLAGS =
CFLAGS_MODULE =
AFLAGS_MODULE =
Expand Down Expand Up @@ -584,10 +584,9 @@ ifeq ($(KBUILD_EXTMOD),)
# To avoid any implicit rule to kick in, define an empty command
$(KCONFIG_CONFIG) include/config/auto.conf.cmd: ;

# If .config is newer than include/config/auto.conf, someone tinkered
# with it and forgot to run make oldconfig.
# if auto.conf.cmd is missing then we are probably in a cleaned tree so
# we execute the config step to be sure to catch updated Kconfig files
# The actual configuration files used during the build are stored in
# include/generated/ and include/config/. Update them if .config is newer than
# include/config/auto.conf (which mirrors .config).
include/config/%.conf: $(KCONFIG_CONFIG) include/config/auto.conf.cmd
$(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
else
Expand Down Expand Up @@ -862,8 +861,7 @@ KBUILD_AFLAGS += $(ARCH_AFLAGS) $(KAFLAGS)
KBUILD_CFLAGS += $(ARCH_CFLAGS) $(KCFLAGS)

# Use --build-id when available.
LDFLAGS_BUILD_ID := $(patsubst -Wl$(comma)%,%,\
$(call cc-ldoption, -Wl$(comma)--build-id,))
LDFLAGS_BUILD_ID := $(call ld-option, --build-id)
KBUILD_LDFLAGS_MODULE += $(LDFLAGS_BUILD_ID)
LDFLAGS_vmlinux += $(LDFLAGS_BUILD_ID)

Expand Down
1 change: 1 addition & 0 deletions arch/parisc/include/asm/cacheflush.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ void flush_user_icache_range_asm(unsigned long, unsigned long);
void flush_kernel_icache_range_asm(unsigned long, unsigned long);
void flush_user_dcache_range_asm(unsigned long, unsigned long);
void flush_kernel_dcache_range_asm(unsigned long, unsigned long);
void purge_kernel_dcache_range_asm(unsigned long, unsigned long);
void flush_kernel_dcache_page_asm(void *);
void flush_kernel_icache_page(void *);

Expand Down
2 changes: 2 additions & 0 deletions arch/parisc/include/asm/processor.h
Original file line number Diff line number Diff line change
Expand Up @@ -316,6 +316,8 @@ extern int _parisc_requires_coherency;
#define parisc_requires_coherency() (0)
#endif

extern int running_on_qemu;

#endif /* __ASSEMBLY__ */

#endif /* __ASM_PARISC_PROCESSOR_H */
57 changes: 31 additions & 26 deletions arch/parisc/kernel/cache.c
Original file line number Diff line number Diff line change
Expand Up @@ -465,10 +465,10 @@ EXPORT_SYMBOL(copy_user_page);
int __flush_tlb_range(unsigned long sid, unsigned long start,
unsigned long end)
{
unsigned long flags, size;
unsigned long flags;

size = (end - start);
if (size >= parisc_tlb_flush_threshold) {
if ((!IS_ENABLED(CONFIG_SMP) || !arch_irqs_disabled()) &&
end - start >= parisc_tlb_flush_threshold) {
flush_tlb_all();
return 1;
}
Expand Down Expand Up @@ -539,23 +539,21 @@ void flush_cache_mm(struct mm_struct *mm)
struct vm_area_struct *vma;
pgd_t *pgd;

/* Flush the TLB to avoid speculation if coherency is required. */
if (parisc_requires_coherency())
flush_tlb_all();

/* Flushing the whole cache on each cpu takes forever on
rp3440, etc. So, avoid it if the mm isn't too big. */
if (mm_total_size(mm) >= parisc_cache_flush_threshold) {
if ((!IS_ENABLED(CONFIG_SMP) || !arch_irqs_disabled()) &&
mm_total_size(mm) >= parisc_cache_flush_threshold) {
flush_tlb_all();
flush_cache_all();
return;
}

if (mm->context == mfsp(3)) {
for (vma = mm->mmap; vma; vma = vma->vm_next) {
flush_user_dcache_range_asm(vma->vm_start, vma->vm_end);
if ((vma->vm_flags & VM_EXEC) == 0)
continue;
flush_user_icache_range_asm(vma->vm_start, vma->vm_end);
if (vma->vm_flags & VM_EXEC)
flush_user_icache_range_asm(vma->vm_start, vma->vm_end);
flush_tlb_range(vma, vma->vm_start, vma->vm_end);
}
return;
}
Expand All @@ -581,21 +579,17 @@ void flush_cache_mm(struct mm_struct *mm)
void flush_cache_range(struct vm_area_struct *vma,
unsigned long start, unsigned long end)
{
BUG_ON(!vma->vm_mm->context);

/* Flush the TLB to avoid speculation if coherency is required. */
if (parisc_requires_coherency())
if ((!IS_ENABLED(CONFIG_SMP) || !arch_irqs_disabled()) &&
end - start >= parisc_cache_flush_threshold) {
flush_tlb_range(vma, start, end);

if ((end - start) >= parisc_cache_flush_threshold
|| vma->vm_mm->context != mfsp(3)) {
flush_cache_all();
return;
}

flush_user_dcache_range_asm(start, end);
if (vma->vm_flags & VM_EXEC)
flush_user_icache_range_asm(start, end);
flush_tlb_range(vma, start, end);
}

void
Expand All @@ -604,30 +598,41 @@ flush_cache_page(struct vm_area_struct *vma, unsigned long vmaddr, unsigned long
BUG_ON(!vma->vm_mm->context);

if (pfn_valid(pfn)) {
if (parisc_requires_coherency())
flush_tlb_page(vma, vmaddr);
flush_tlb_page(vma, vmaddr);
__flush_cache_page(vma, vmaddr, PFN_PHYS(pfn));
}
}

void flush_kernel_vmap_range(void *vaddr, int size)
{
unsigned long start = (unsigned long)vaddr;
unsigned long end = start + size;

if ((unsigned long)size > parisc_cache_flush_threshold)
if ((!IS_ENABLED(CONFIG_SMP) || !arch_irqs_disabled()) &&
(unsigned long)size >= parisc_cache_flush_threshold) {
flush_tlb_kernel_range(start, end);
flush_data_cache();
else
flush_kernel_dcache_range_asm(start, start + size);
return;
}

flush_kernel_dcache_range_asm(start, end);
flush_tlb_kernel_range(start, end);
}
EXPORT_SYMBOL(flush_kernel_vmap_range);

void invalidate_kernel_vmap_range(void *vaddr, int size)
{
unsigned long start = (unsigned long)vaddr;
unsigned long end = start + size;

if ((unsigned long)size > parisc_cache_flush_threshold)
if ((!IS_ENABLED(CONFIG_SMP) || !arch_irqs_disabled()) &&
(unsigned long)size >= parisc_cache_flush_threshold) {
flush_tlb_kernel_range(start, end);
flush_data_cache();
else
flush_kernel_dcache_range_asm(start, start + size);
return;
}

purge_kernel_dcache_range_asm(start, end);
flush_tlb_kernel_range(start, end);
}
EXPORT_SYMBOL(invalidate_kernel_vmap_range);
18 changes: 12 additions & 6 deletions arch/parisc/kernel/head.S
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,16 @@ $pgt_fill_loop:
std %dp,0x18(%r10)
#endif

#ifdef CONFIG_64BIT
/* Get PDCE_PROC for monarch CPU. */
#define MEM_PDC_LO 0x388
#define MEM_PDC_HI 0x35C
ldw MEM_PDC_LO(%r0),%r3
ldw MEM_PDC_HI(%r0),%r10
depd %r10, 31, 32, %r3 /* move to upper word */
#endif


#ifdef CONFIG_SMP
/* Set the smp rendezvous address into page zero.
** It would be safer to do this in init_smp_config() but
Expand Down Expand Up @@ -196,12 +206,6 @@ common_stext:
** Someday, palo might not do this for the Monarch either.
*/
2:
#define MEM_PDC_LO 0x388
#define MEM_PDC_HI 0x35C
ldw MEM_PDC_LO(%r0),%r3
ldw MEM_PDC_HI(%r0),%r6
depd %r6, 31, 32, %r3 /* move to upper word */

mfctl %cr30,%r6 /* PCX-W2 firmware bug */

ldo PDC_PSW(%r0),%arg0 /* 21 */
Expand Down Expand Up @@ -268,6 +272,8 @@ $install_iva:
aligned_rfi:
pcxt_ssm_bug

copy %r3, %arg0 /* PDCE_PROC for smp_callin() */

rsm PSW_SM_QUIET,%r0 /* off troublesome PSW bits */
/* Don't need NOPs, have 8 compliant insn before rfi */

Expand Down
22 changes: 22 additions & 0 deletions arch/parisc/kernel/pacache.S
Original file line number Diff line number Diff line change
Expand Up @@ -1110,6 +1110,28 @@ ENTRY_CFI(flush_kernel_dcache_range_asm)
.procend
ENDPROC_CFI(flush_kernel_dcache_range_asm)

ENTRY_CFI(purge_kernel_dcache_range_asm)
.proc
.callinfo NO_CALLS
.entry

ldil L%dcache_stride, %r1
ldw R%dcache_stride(%r1), %r23
ldo -1(%r23), %r21
ANDCM %r26, %r21, %r26

1: cmpb,COND(<<),n %r26, %r25,1b
pdc,m %r23(%r26)

sync
syncdma
bv %r0(%r2)
nop
.exit

.procend
ENDPROC_CFI(purge_kernel_dcache_range_asm)

ENTRY_CFI(flush_user_icache_range_asm)
.proc
.callinfo NO_CALLS
Expand Down
7 changes: 6 additions & 1 deletion arch/parisc/kernel/smp.c
Original file line number Diff line number Diff line change
Expand Up @@ -292,10 +292,15 @@ smp_cpu_init(int cpunum)
* Slaves start using C here. Indirectly called from smp_slave_stext.
* Do what start_kernel() and main() do for boot strap processor (aka monarch)
*/
void __init smp_callin(void)
void __init smp_callin(unsigned long pdce_proc)
{
int slave_id = cpu_now_booting;

#ifdef CONFIG_64BIT
WARN_ON(((unsigned long)(PAGE0->mem_pdc_hi) << 32
| PAGE0->mem_pdc) != pdce_proc);
#endif

smp_cpu_init(slave_id);
preempt_disable();

Expand Down
Loading