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

Sync up with Linus #47

Merged
merged 150 commits into from
Mar 4, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
150 commits
Select commit Hold shift + click to select a range
fb8b7d2
reservation: wait only with non-zero timeout specified (v3)
Jan 21, 2015
847b19a
dma-buf/fence: don't wait when specified timeout is zero
Jan 21, 2015
4eb2440
reservation: Remove shadowing local variable 'ret'
Jan 22, 2015
dd3733b
ipvs: fix inability to remove a mixed-family RS
andriyanov Feb 6, 2015
520aa74
netfilter: nft_compat: fix module refcount underflow
ummakynes Feb 12, 2015
cef9ed8
netfilter: xt_recent: don't reject rule if new hitcount exceeds table…
Feb 13, 2015
78296c9
netfilter: xt_socket: fix a stack corruption bug
Feb 16, 2015
a1d1e9b
svcrpc: fix memory leak in gssp_accept_sec_context_upcall
Feb 13, 2015
1c4cff0
gen_stats.c: Duplicate xstats buffer for later use
iazz Feb 13, 2015
aa18332
ehea: Register memory hotplug, reboot and crash hooks on adapter probe
antonblanchard Feb 15, 2015
42c972a
usb: plusb: Add support for National Instruments host-to-host cable
Feb 16, 2015
fba04a9
ipv4: ip_check_defrag should correctly check return value of skb_copy…
sorc1 Feb 17, 2015
54da5a8
net: phy: Fix verification of EEE support in phy_init_eee
groeck Feb 17, 2015
34eea79
ematch: Fix auto-loading of ematch modules.
iazz Feb 17, 2015
7b4577a
openvswitch: Fix net exit.
Feb 17, 2015
f81edc6
ethernet/ixp4xx: prevent allmulti from clobbering promisc
Feb 18, 2015
846cd66
net: Initialize all members in skb_gro_remcsum_init()
geertu Feb 18, 2015
997d5c3
sock: sock_dequeue_err_skb() needs hard irq safety
Feb 18, 2015
15added
net: smc91x: improve neponset hack
arndb Feb 18, 2015
bf60e50
net/appletalk: LTPC needs virt_to_bus
arndb Feb 18, 2015
b7f5e5c
rhashtable: don't allocate ht structure on stack in test_rht_init
borkmann Feb 20, 2015
f4c2b7a
ipvlan: Fix text that talks about ip util support
Feb 18, 2015
65e9256
ethtool: Add hw-switch-offload to netdev_features_strings.
ramirosen Feb 20, 2015
5a8eeec
cxgb4: Fix incorrect 'c' suffix to %pI4, use %pISc instead
anish Feb 18, 2015
278f7b4
caif: fix a signedness bug in cfpkt_iterate()
Feb 19, 2015
ee92259
Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf
davem330 Feb 20, 2015
342100d
rhashtable: don't test for shrink on insert, expansion on delete
borkmann Feb 19, 2015
eb6d1ab
rhashtable: better high order allocation attempts
borkmann Feb 19, 2015
6dd0c16
rhashtable: allow to unload test module
borkmann Feb 19, 2015
ddede6d
net: dsa: bcm_sf2: fix 64-bits register reads
ffainelli Feb 19, 2015
a4176a9
net: reject creation of netdev names with colons
prometheanfire Feb 18, 2015
b9ebafb
rhashtable: ensure cache line alignment on bucket_table
Feb 20, 2015
3f34b24
af_packet: allow packets defragmentation not only for hash fanout type
sorc1 Feb 20, 2015
45cee4f
mISDN: replace current->state by set_current_state()
Feb 20, 2015
50462ce
hso: replace current->state by __set_current_state()
Feb 20, 2015
2c45015
wan: cosa: replace current->state by set_current_state()
Feb 20, 2015
87cda7c
r8169: Revert BQL and xmit_more support.
davem330 Feb 22, 2015
52d6c8c
net: pktgen: disable xmit_clone on virtual devices
Feb 23, 2015
fea559f
powerpc: Re-enable dynticks
ThinkOpenly Feb 20, 2015
6514890
tcp: fix tcp_should_expand_sndbuf() to use tcp_packets_in_flight()
nealcardwell Feb 20, 2015
407550f
Bluetooth: btusb: Fix issue with CSR based Intel Wireless controllers
holtmann Feb 22, 2015
85689b2
Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/ker…
davem330 Feb 23, 2015
71bb001
rhashtable: initialize all rhashtable walker members
sashalevin Feb 23, 2015
46b9e4b
decnet: Fix obvious o/0 typo
Villemoes Feb 23, 2015
57e5956
team: fix possible null pointer dereference in team_handle_frame
jpirko Feb 23, 2015
a050dfb
ARM: KVM: Fix size check in __coherent_cache_guest_page
jan-kiszka Feb 7, 2015
91314cb
arm/arm64: KVM: Add exit reaons to kvm_exit event tracing
huangwei Jan 30, 2015
21bc8dc
KVM: VMX: fix build without CONFIG_SMP
rkrcmar Feb 16, 2015
4ff6f8e
KVM: emulate: fix CMPXCHG8B on 32-bit hosts
bonzini Feb 12, 2015
30ff547
net: sched: export tc_connmark.h so it is uapi accessible
jhsmt Feb 23, 2015
a948f8c
irda: replace current->state by set_current_state()
Feb 23, 2015
d720d8c
net: compat: Ignore MSG_CMSG_COMPAT in compat_sys_{send, recv}msg
ctmarinas Feb 23, 2015
fe6e408
altera_tse: Correct typo in obtaining tx_fifo_depth from devicetree
Feb 23, 2015
8d4ac39
altera_tse: Fixes in NAPI and interrupt handling paths
Feb 23, 2015
7775142
ipv6: addrconf: validate new MTU before applying it
marceloleitner Feb 23, 2015
f2831e2
mac80211_hwsim: fix error handling in tx_frame_nl
bcopeland Feb 5, 2015
104f5a6
mac80211: clear sdata->radar_required
elp Feb 8, 2015
5528fae
nl80211: use loop index as type for net detect frequency results
Feb 9, 2015
a18c719
nl80211: fix memory leak in monitor flags parsing
jmberg-intel Feb 24, 2015
28981e5
cfg80211: fix n_reg_rules to match world_regdom
Feb 18, 2015
81daf73
cfg80211: calls nl80211_exit on error
Jan 28, 2015
17dce15
mac80211/minstrel: fix !x!=0 confusion
Feb 19, 2015
4e10fd5
rtnetlink: avoid 0 sized arrays
sashalevin Feb 24, 2015
41a50d6
af_packet: don't pass empty blocks for PACKET_V3
sorc1 Feb 24, 2015
7fbb9d8
xen-netback: release pending index before pushing Tx responses
Feb 24, 2015
5c2d2b1
r8169: Fix trivial typo in rtl_check_firmware
Feb 24, 2015
74ad752
amd-xgbe-phy: PHY KX/KR mode differences
tlendacky Feb 24, 2015
31639b9
MAINTAINERS: update my email address
gospo Feb 25, 2015
dda094a
i40e: Fix memory leak at failure path in i40e_dbg_command_write()
khoroshilov Feb 21, 2015
de78fc5
i40e: fix shift precedence issue
Feb 21, 2015
b67a033
i40e: Don't check for Tx hang when PF down
aabodunrin Feb 21, 2015
71da619
i40e: Fix TSO with more than 8 frags per segment issue
anjalisinghai1 Feb 21, 2015
a68de58
i40e: fix race in hang check
jbrandeb Feb 24, 2015
7f9ff47
i40e: Fix the case where per TC queue count was higher than queues en…
anjalisinghai1 Feb 21, 2015
cd238a3
i40e: Fix the Tx ring qset handle when DCB reconfigures
Feb 21, 2015
11e4770
i40e: Issue a PF reset if Tx queue disable timeout
Feb 21, 2015
85e76d0
i40evf: TCP/IPv6 over Vxlan Tx checksum offload fix
anjalisinghai1 Feb 21, 2015
e147758
i40e: disconnect irqs on shutdown
Feb 21, 2015
33c62b3
i40e: stop flow director on shutdown
mawilli1 Feb 21, 2015
2c47e35
i40e: catch NVM write semaphore timeout and retry
Feb 21, 2015
65d1346
i40e: check pointers before use
Feb 21, 2015
9c1c98a
mac80211: Send EAPOL frames at lowest rate
jmalinen Feb 26, 2015
c876486
nfsd: fix clp->cl_revoked list deletion causing softlock in nfsd
aweits Feb 25, 2015
76cb4be
sunrpc: integer underflow in rsc_parse()
Feb 24, 2015
3a51d50
ARC: Make arc_unwind_core accessible externally
vineetgarc Jul 10, 2013
ceed97a
ARC: perf: Enable generic software events
vineetgarc Oct 2, 2014
13648b0
ARC: Fix KSTK_ESP()
vineetgarc Feb 27, 2015
3240dd5
ARC: Fix thread_saved_pc()
vineetgarc Feb 27, 2015
2b0c2e2
enic: do notify_check before returning credits
Feb 25, 2015
f01aa63
cxgb4: Fix PCI-E Memory window interface for big-endian systems
Feb 25, 2015
e65ad3b
rocker: add a check for NULL in rocker_probe_ports()
Feb 25, 2015
5f2ebfb
rocker: silence shift wrapping warning
Feb 25, 2015
4c5a844
vhost: cleanup iterator update logic
mstsirkin Feb 25, 2015
0d79a49
vhost: drop hard-coded num_buffers size
mstsirkin Feb 25, 2015
8331de7
rhashtable: unconditionally grow when max_shift is not specified
borkmann Feb 25, 2015
4c4b52d
rhashtable: remove indirection for grow/shrink decision functions
borkmann Feb 25, 2015
c0eebfa
Merge branch 'rhashtable'
davem330 Feb 27, 2015
7488c3e
net: asix: add support for the Sitecom LN-028 USB adapter
lucaceresoli Feb 25, 2015
c30e76a
amd-xgbe: Request IRQs only after driver is fully setup
tlendacky Feb 25, 2015
061c1a6
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/gi…
davem330 Feb 27, 2015
5beb5c9
rhashtable: use cond_resched()
Feb 26, 2015
b70661c
net: smc91x: use run-time configuration on all ARM machines
arndb Feb 25, 2015
f55ea3d
niu: fix error handling in niu_class_to_ethflow()
Feb 26, 2015
5688714
drivers: net: cpsw: Set SECURE for dual_emac ucast
gmccollister Feb 26, 2015
505ce41
net: Verify permission to dest_net in newlink
ebiederm Feb 26, 2015
06615be
net: Verify permission to link_net in newlink
ebiederm Feb 26, 2015
32034e0
Merge tag 'mac80211-for-davem-2015-02-27' of git://git.kernel.org/pub…
davem330 Mar 1, 2015
2f1d8b9
macvtap: make sure neighbour code can push ethernet header
Feb 28, 2015
4092e6a
net: bcmgenet: fix throughtput regression
jaedon Feb 28, 2015
a14c7d1
sh_eth: Fix lost MAC address on kexec
geertu Feb 27, 2015
cac5e65
net: do not use rcu in rtnl_dump_ifinfo()
Feb 27, 2015
2f5c54c
net: davinci_mdio: add hibernation callbacks
Feb 27, 2015
8963a50
net: ti: cpsw: add hibernation callbacks
Feb 27, 2015
00c7eb9
qlcnic: Fix trivial typo in comment
Feb 27, 2015
f7c3068
netxen_nic: Fix trivial typos in comments
Feb 27, 2015
b8b0134
net: smc91c92_cs: Use setup_timer and mod_timer
v-thakkar Feb 27, 2015
fc4ba63
net: 8390: pcnet_cs: Use setup_timer and mod_timer
v-thakkar Feb 27, 2015
6753a97
net: 8390: axnet_cs: Use setup_timer and mod_timer
v-thakkar Feb 27, 2015
ccb36da
net: stmmac: Use setup_timer and mod_timer
v-thakkar Feb 27, 2015
187d678
net: pasemi: Use setup_timer and mod_timer
v-thakkar Feb 27, 2015
56b08fd
net/hsr: Fix NULL pointer dereference and refcnt bugs when deleting a…
Feb 27, 2015
c03ae53
rxrpc: terminate retrans loop when sending of skb fails
Feb 28, 2015
765dd3b
rxrpc: don't multiply with HZ twice
Feb 28, 2015
f62ba9c
net: bcmgenet: fix software maintained statistics
ffainelli Mar 1, 2015
55ff4ea
net: systemport: fix software maintained statistics
ffainelli Mar 1, 2015
38674a4
Merge branch 'bcmgenet_systemport_stats'
davem330 Mar 1, 2015
f5956fa
net/mlx4_core: Fix wrong mask and error flow for the update-qp command
ogerlitz Mar 2, 2015
1037ebb
net/mlx4_en: Disbale GRO for incoming loopback/selftest packets
shamoya Mar 2, 2015
eee617a
Merge branch 'mlx4'
davem330 Mar 2, 2015
f563db4
KVM: SVM: fix interrupt injection (apic->isr_count always 0)
rkrcmar Feb 27, 2015
b3cffac
KVM: MIPS: Fix trace event to save PC directly
Feb 24, 2015
cfec0e7
KVM: MIPS: Enable after disabling interrupt
tapaswenipathak Feb 22, 2015
7d7355f
sh_eth: Ensure proper ordering of descriptor active bit write/read
bwh-ct Mar 3, 2015
6ded286
sh_eth: Fix RX recovery on R-Car in case of RX ring underrun
bwh-ct Mar 3, 2015
9b4a636
Revert "sh_eth: Enable Rx descriptor word 0 shift for r8a7790"
bwh-ct Mar 3, 2015
dacc73e
sh_eth: Really fix padding of short frames on TX
bwh-ct Mar 3, 2015
096b1c1
Merge branch 'sh_eth'
davem330 Mar 3, 2015
acf8dd0
udp: only allow UFO for packets from SOCK_DGRAM sockets
mkubecek Mar 2, 2015
71e168b
net: bridge: add compile-time assert for cb struct size
Mar 3, 2015
c77c761
ibmveth: Add function to enable live MAC address changes
tlfalcon Mar 2, 2015
0ae93b2
gianfar: Reduce logging noise seen due to phy polling if link is down
groeck Mar 2, 2015
f4f8e73
openvswitch: Fix serialization of non-masked set actions.
joestringer Mar 3, 2015
789d7f6
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
torvalds Mar 3, 2015
a6c5170
Merge branch 'for-4.0' of git://linux-nfs.org/~bfields/linux
torvalds Mar 3, 2015
875ebe9
powerpc/smp: Wait until secondaries are active & online
mpe Feb 24, 2015
4ad04e5
powerpc/iommu: Remove IOMMU device references via bus notifier
Feb 21, 2015
97754e3
Merge tag 'powerpc-4.0-2' of git://git.kernel.org/pub/scm/linux/kerne…
torvalds Mar 4, 2015
f2cb477
Merge tag 'arc-4.0-fixes-1' of git://git.kernel.org/pub/scm/linux/ker…
torvalds Mar 4, 2015
b8e81a3
Merge git://git.kernel.org/pub/scm/virt/kvm/kvm
torvalds Mar 4, 2015
6587457
Merge tag 'dma-buf-for-4.0-rc3' of git://git.kernel.org/pub/scm/linux…
torvalds Mar 4, 2015
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: 4 additions & 0 deletions Documentation/devicetree/bindings/net/amd-xgbe-phy.txt
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ property is used.
- amd,serdes-cdr-rate: CDR rate speed selection
- amd,serdes-pq-skew: PQ (data sampling) skew
- amd,serdes-tx-amp: TX amplitude boost
- amd,serdes-dfe-tap-config: DFE taps available to run
- amd,serdes-dfe-tap-enable: DFE taps to enable

Example:
xgbe_phy@e1240800 {
Expand All @@ -41,4 +43,6 @@ Example:
amd,serdes-cdr-rate = <2>, <2>, <7>;
amd,serdes-pq-skew = <10>, <10>, <30>;
amd,serdes-tx-amp = <15>, <15>, <10>;
amd,serdes-dfe-tap-config = <3>, <3>, <1>;
amd,serdes-dfe-tap-enable = <0>, <0>, <127>;
};
2 changes: 1 addition & 1 deletion MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -2065,7 +2065,7 @@ F: include/net/bluetooth/
BONDING DRIVER
M: Jay Vosburgh <[email protected]>
M: Veaceslav Falico <[email protected]>
M: Andy Gospodarek <[email protected]>
M: Andy Gospodarek <[email protected]>
L: [email protected]
W: http://sourceforge.net/projects/bonding/
S: Supported
Expand Down
14 changes: 7 additions & 7 deletions arch/arc/include/asm/processor.h
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,6 @@ struct thread_struct {
/* Forward declaration, a strange C thing */
struct task_struct;

/* Return saved PC of a blocked thread */
unsigned long thread_saved_pc(struct task_struct *t);

#define task_pt_regs(p) \
((struct pt_regs *)(THREAD_SIZE + (void *)task_stack_page(p)) - 1)

Expand All @@ -72,18 +69,21 @@ unsigned long thread_saved_pc(struct task_struct *t);
#define release_segments(mm) do { } while (0)

#define KSTK_EIP(tsk) (task_pt_regs(tsk)->ret)
#define KSTK_ESP(tsk) (task_pt_regs(tsk)->sp)

/*
* Where abouts of Task's sp, fp, blink when it was last seen in kernel mode.
* Look in process.c for details of kernel stack layout
*/
#define KSTK_ESP(tsk) (tsk->thread.ksp)
#define TSK_K_ESP(tsk) (tsk->thread.ksp)

#define KSTK_REG(tsk, off) (*((unsigned int *)(KSTK_ESP(tsk) + \
#define TSK_K_REG(tsk, off) (*((unsigned int *)(TSK_K_ESP(tsk) + \
sizeof(struct callee_regs) + off)))

#define KSTK_BLINK(tsk) KSTK_REG(tsk, 4)
#define KSTK_FP(tsk) KSTK_REG(tsk, 0)
#define TSK_K_BLINK(tsk) TSK_K_REG(tsk, 4)
#define TSK_K_FP(tsk) TSK_K_REG(tsk, 0)

#define thread_saved_pc(tsk) TSK_K_BLINK(tsk)

extern void start_thread(struct pt_regs * regs, unsigned long pc,
unsigned long usp);
Expand Down
37 changes: 37 additions & 0 deletions arch/arc/include/asm/stacktrace.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
/*
* Copyright (C) 2014-15 Synopsys, Inc. (www.synopsys.com)
* Copyright (C) 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/

#ifndef __ASM_STACKTRACE_H
#define __ASM_STACKTRACE_H

#include <linux/sched.h>

/**
* arc_unwind_core - Unwind the kernel mode stack for an execution context
* @tsk: NULL for current task, specific task otherwise
* @regs: pt_regs used to seed the unwinder {SP, FP, BLINK, PC}
* If NULL, use pt_regs of @tsk (if !NULL) otherwise
* use the current values of {SP, FP, BLINK, PC}
* @consumer_fn: Callback invoked for each frame unwound
* Returns 0 to continue unwinding, -1 to stop
* @arg: Arg to callback
*
* Returns the address of first function in stack
*
* Semantics:
* - synchronous unwinding (e.g. dump_stack): @tsk NULL, @regs NULL
* - Asynchronous unwinding of sleeping task: @tsk !NULL, @regs NULL
* - Asynchronous unwinding of intr/excp etc: @tsk !NULL, @regs !NULL
*/
notrace noinline unsigned int arc_unwind_core(
struct task_struct *tsk, struct pt_regs *regs,
int (*consumer_fn) (unsigned int, void *),
void *arg);

#endif /* __ASM_STACKTRACE_H */
23 changes: 0 additions & 23 deletions arch/arc/kernel/process.c
Original file line number Diff line number Diff line change
Expand Up @@ -192,29 +192,6 @@ int dump_fpu(struct pt_regs *regs, elf_fpregset_t *fpu)
return 0;
}

/*
* API: expected by schedular Code: If thread is sleeping where is that.
* What is this good for? it will be always the scheduler or ret_from_fork.
* So we hard code that anyways.
*/
unsigned long thread_saved_pc(struct task_struct *t)
{
struct pt_regs *regs = task_pt_regs(t);
unsigned long blink = 0;

/*
* If the thread being queried for in not itself calling this, then it
* implies it is not executing, which in turn implies it is sleeping,
* which in turn implies it got switched OUT by the schedular.
* In that case, it's kernel mode blink can reliably retrieved as per
* the picture above (right above pt_regs).
*/
if (t != current && t->state != TASK_RUNNING)
blink = *((unsigned int *)regs - 1);

return blink;
}

int elf_check_arch(const struct elf32_hdr *x)
{
unsigned int eflags;
Expand Down
21 changes: 17 additions & 4 deletions arch/arc/kernel/stacktrace.c
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,10 @@ static void seed_unwind_frame_info(struct task_struct *tsk,
struct pt_regs *regs,
struct unwind_frame_info *frame_info)
{
/*
* synchronous unwinding (e.g. dump_stack)
* - uses current values of SP and friends
*/
if (tsk == NULL && regs == NULL) {
unsigned long fp, sp, blink, ret;
frame_info->task = current;
Expand All @@ -61,12 +65,17 @@ static void seed_unwind_frame_info(struct task_struct *tsk,
frame_info->regs.r63 = ret;
frame_info->call_frame = 0;
} else if (regs == NULL) {
/*
* Asynchronous unwinding of sleeping task
* - Gets SP etc from task's pt_regs (saved bottom of kernel
* mode stack of task)
*/

frame_info->task = tsk;

frame_info->regs.r27 = KSTK_FP(tsk);
frame_info->regs.r28 = KSTK_ESP(tsk);
frame_info->regs.r31 = KSTK_BLINK(tsk);
frame_info->regs.r27 = TSK_K_FP(tsk);
frame_info->regs.r28 = TSK_K_ESP(tsk);
frame_info->regs.r31 = TSK_K_BLINK(tsk);
frame_info->regs.r63 = (unsigned int)__switch_to;

/* In the prologue of __switch_to, first FP is saved on stack
Expand All @@ -83,6 +92,10 @@ static void seed_unwind_frame_info(struct task_struct *tsk,
frame_info->call_frame = 0;

} else {
/*
* Asynchronous unwinding of intr/exception
* - Just uses the pt_regs passed
*/
frame_info->task = tsk;

frame_info->regs.r27 = regs->fp;
Expand All @@ -95,7 +108,7 @@ static void seed_unwind_frame_info(struct task_struct *tsk,

#endif

static noinline unsigned int
notrace noinline unsigned int
arc_unwind_core(struct task_struct *tsk, struct pt_regs *regs,
int (*consumer_fn) (unsigned int, void *), void *arg)
{
Expand Down
2 changes: 2 additions & 0 deletions arch/arc/kernel/unaligned.c
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
*/

#include <linux/types.h>
#include <linux/perf_event.h>
#include <linux/ptrace.h>
#include <linux/uaccess.h>
#include <asm/disasm.h>
Expand Down Expand Up @@ -253,6 +254,7 @@ int misaligned_fixup(unsigned long address, struct pt_regs *regs,
}
}

perf_sw_event(PERF_COUNT_SW_ALIGNMENT_FAULTS, 1, regs, address);
return 0;

fault:
Expand Down
12 changes: 10 additions & 2 deletions arch/arc/mm/fault.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
#include <linux/ptrace.h>
#include <linux/uaccess.h>
#include <linux/kdebug.h>
#include <linux/perf_event.h>
#include <asm/pgalloc.h>
#include <asm/mmu.h>

Expand Down Expand Up @@ -139,13 +140,20 @@ void do_page_fault(unsigned long address, struct pt_regs *regs)
return;
}

perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS, 1, regs, address);

if (likely(!(fault & VM_FAULT_ERROR))) {
if (flags & FAULT_FLAG_ALLOW_RETRY) {
/* To avoid updating stats twice for retry case */
if (fault & VM_FAULT_MAJOR)
if (fault & VM_FAULT_MAJOR) {
tsk->maj_flt++;
else
perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS_MAJ, 1,
regs, address);
} else {
tsk->min_flt++;
perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS_MIN, 1,
regs, address);
}

if (fault & VM_FAULT_RETRY) {
flags &= ~FAULT_FLAG_ALLOW_RETRY;
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/include/asm/kvm_mmu.h
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@ static inline void __coherent_cache_guest_page(struct kvm_vcpu *vcpu, pfn_t pfn,

bool need_flush = !vcpu_has_cache_enabled(vcpu) || ipa_uncached;

VM_BUG_ON(size & PAGE_MASK);
VM_BUG_ON(size & ~PAGE_MASK);

if (!need_flush && !icache_is_pipt())
goto vipt_cache;
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/kvm/arm.c
Original file line number Diff line number Diff line change
Expand Up @@ -540,7 +540,7 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu, struct kvm_run *run)

vcpu->mode = OUTSIDE_GUEST_MODE;
kvm_guest_exit();
trace_kvm_exit(*vcpu_pc(vcpu));
trace_kvm_exit(kvm_vcpu_trap_get_class(vcpu), *vcpu_pc(vcpu));
/*
* We may have taken a host interrupt in HYP mode (ie
* while executing the guest). This interrupt is still
Expand Down
10 changes: 7 additions & 3 deletions arch/arm/kvm/trace.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,18 +25,22 @@ TRACE_EVENT(kvm_entry,
);

TRACE_EVENT(kvm_exit,
TP_PROTO(unsigned long vcpu_pc),
TP_ARGS(vcpu_pc),
TP_PROTO(unsigned int exit_reason, unsigned long vcpu_pc),
TP_ARGS(exit_reason, vcpu_pc),

TP_STRUCT__entry(
__field( unsigned int, exit_reason )
__field( unsigned long, vcpu_pc )
),

TP_fast_assign(
__entry->exit_reason = exit_reason;
__entry->vcpu_pc = vcpu_pc;
),

TP_printk("PC: 0x%08lx", __entry->vcpu_pc)
TP_printk("HSR_EC: 0x%04x, PC: 0x%08lx",
__entry->exit_reason,
__entry->vcpu_pc)
);

TRACE_EVENT(kvm_guest_fault,
Expand Down
8 changes: 7 additions & 1 deletion arch/arm/mach-msm/board-halibut.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
#include <linux/input.h>
#include <linux/io.h>
#include <linux/delay.h>
#include <linux/smc91x.h>

#include <mach/hardware.h>
#include <asm/mach-types.h>
Expand All @@ -46,15 +47,20 @@ static struct resource smc91x_resources[] = {
[1] = {
.start = MSM_GPIO_TO_INT(49),
.end = MSM_GPIO_TO_INT(49),
.flags = IORESOURCE_IRQ,
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
},
};

static struct smc91x_platdata smc91x_platdata = {
.flags = SMC91X_USE_16BIT | SMC91X_NOWAIT,
};

static struct platform_device smc91x_device = {
.name = "smc91x",
.id = 0,
.num_resources = ARRAY_SIZE(smc91x_resources),
.resource = smc91x_resources,
.dev.platform_data = &smc91x_platdata,
};

static struct platform_device *devices[] __initdata = {
Expand Down
8 changes: 7 additions & 1 deletion arch/arm/mach-msm/board-qsd8x50.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
#include <linux/usb/msm_hsusb.h>
#include <linux/err.h>
#include <linux/clkdev.h>
#include <linux/smc91x.h>

#include <asm/mach-types.h>
#include <asm/mach/arch.h>
Expand Down Expand Up @@ -49,15 +50,20 @@ static struct resource smc91x_resources[] = {
.flags = IORESOURCE_MEM,
},
[1] = {
.flags = IORESOURCE_IRQ,
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
},
};

static struct smc91x_platdata smc91x_platdata = {
.flags = SMC91X_USE_16BIT | SMC91X_NOWAIT,
};

static struct platform_device smc91x_device = {
.name = "smc91x",
.id = 0,
.num_resources = ARRAY_SIZE(smc91x_resources),
.resource = smc91x_resources,
.dev.platform_data = &smc91x_platdata,
};

static int __init msm_init_smc91x(void)
Expand Down
5 changes: 5 additions & 0 deletions arch/arm/mach-pxa/idp.c
Original file line number Diff line number Diff line change
Expand Up @@ -81,11 +81,16 @@ static struct resource smc91x_resources[] = {
}
};

static struct smc91x_platdata smc91x_platdata = {
.flags = SMC91X_USE_32BIT | SMC91X_USE_DMA | SMC91X_NOWAIT,
};

static struct platform_device smc91x_device = {
.name = "smc91x",
.id = 0,
.num_resources = ARRAY_SIZE(smc91x_resources),
.resource = smc91x_resources,
.dev.platform_data = &smc91x_platdata,
};

static void idp_backlight_power(int on)
Expand Down
8 changes: 7 additions & 1 deletion arch/arm/mach-pxa/lpd270.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
#include <linux/mtd/mtd.h>
#include <linux/mtd/partitions.h>
#include <linux/pwm_backlight.h>
#include <linux/smc91x.h>

#include <asm/types.h>
#include <asm/setup.h>
Expand Down Expand Up @@ -189,15 +190,20 @@ static struct resource smc91x_resources[] = {
[1] = {
.start = LPD270_ETHERNET_IRQ,
.end = LPD270_ETHERNET_IRQ,
.flags = IORESOURCE_IRQ,
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE,
},
};

struct smc91x_platdata smc91x_platdata = {
.flags = SMC91X_USE_16BIT | SMC91X_NOWAIT;
};

static struct platform_device smc91x_device = {
.name = "smc91x",
.id = 0,
.num_resources = ARRAY_SIZE(smc91x_resources),
.resource = smc91x_resources,
.dev.platform_data = &smc91x_platdata,
};

static struct resource lpd270_flash_resources[] = {
Expand Down
Loading