Merge branch 'akpm' (patches from Andrew)
Merge yet more updates from Andrew Morton: - a few MM remainders - misc things - autofs updates - signals - affs updates - ipc - nilfs2 - spelling.txt updates * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (78 commits) mm, x86: fix HIGHMEM64 && PARAVIRT build config for native_pud_clear() mm: add arch-independent testcases for RODATA hfs: atomically read inode size mm: clarify mm_struct.mm_{users,count} documentation mm: use mmget_not_zero() helper mm: add new mmget() helper mm: add new mmgrab() helper checkpatch: warn when formats use %Z and suggest %z lib/vsprintf.c: remove %Z support scripts/spelling.txt: add some typo-words scripts/spelling.txt: add "followings" pattern and fix typo instances scripts/spelling.txt: add "therfore" pattern and fix typo instances scripts/spelling.txt: add "overwriten" pattern and fix typo instances scripts/spelling.txt: add "overwritting" pattern and fix typo instances scripts/spelling.txt: add "deintialize(d)" pattern and fix typo instances scripts/spelling.txt: add "disassocation" pattern and fix typo instances scripts/spelling.txt: add "omited" pattern and fix typo instances scripts/spelling.txt: add "explictely" pattern and fix typo instances scripts/spelling.txt: add "applys" pattern and fix typo instances scripts/spelling.txt: add "configuartion" pattern and fix typo instances ...
This commit is contained in:
commit
86292b33d4
@ -1020,7 +1020,7 @@ and other resources, etc.
|
||||
</itemizedlist>
|
||||
|
||||
<para>
|
||||
Of errors detected as above, the followings are not ATA/ATAPI
|
||||
Of errors detected as above, the following are not ATA/ATAPI
|
||||
device errors but ATA bus errors and should be handled
|
||||
according to <xref linkend="excatATAbusErr"/>.
|
||||
</para>
|
||||
|
@ -57,7 +57,7 @@ Note: To get the ACPI debug object output (Store (AAAA, Debug)),
|
||||
3. undo your changes
|
||||
The "undo" operation is not supported for a new inserted method
|
||||
right now, i.e. we can not remove a method currently.
|
||||
For an overrided method, in order to undo your changes, please
|
||||
For an overridden method, in order to undo your changes, please
|
||||
save a copy of the method original ASL code in step c) section 1,
|
||||
and redo step c) ~ g) to override the method with the original one.
|
||||
|
||||
|
@ -152,7 +152,7 @@ tracing facility.
|
||||
Users can enable/disable this debug tracing feature by executing
|
||||
the following command:
|
||||
# echo string > /sys/module/acpi/parameters/trace_state
|
||||
Where "string" should be one of the followings:
|
||||
Where "string" should be one of the following:
|
||||
"disable"
|
||||
Disable the method tracing feature.
|
||||
"enable"
|
||||
|
@ -81,7 +81,7 @@ That defines some categories of errors:
|
||||
still run, eventually replacing the affected hardware by a hot spare,
|
||||
if available.
|
||||
|
||||
Also, when an error happens on an userspace process, it is also possible to
|
||||
Also, when an error happens on a userspace process, it is also possible to
|
||||
kill such process and let userspace restart it.
|
||||
|
||||
The mechanism for handling non-fatal errors is usually complex and may
|
||||
|
@ -17,7 +17,7 @@ driver and currently works well under standard IDE subsystem. Actually it's
|
||||
one chip SSD. IO mode is ATA-like custom mode for the host that doesn't have
|
||||
IDE interface.
|
||||
|
||||
Followings are brief descriptions about IO mode.
|
||||
Following are brief descriptions about IO mode.
|
||||
A. IO mode based on ATA protocol and uses some custom command. (read confirm,
|
||||
write confirm)
|
||||
B. IO mode uses SRAM bus interface.
|
||||
|
@ -319,7 +319,7 @@ Version History
|
||||
1.5.2 'mismatch_cnt' is zero unless [last_]sync_action is "check".
|
||||
1.6.0 Add discard support (and devices_handle_discard_safely module param).
|
||||
1.7.0 Add support for MD RAID0 mappings.
|
||||
1.8.0 Explictely check for compatible flags in the superblock metadata
|
||||
1.8.0 Explicitly check for compatible flags in the superblock metadata
|
||||
and reject to start the raid set if any are set by a newer
|
||||
target version, thus avoiding data corruption on a raid set
|
||||
with a reshape in progress.
|
||||
|
@ -234,7 +234,7 @@ see regulator.txt - with additional custom properties described below:
|
||||
- qcom,switch-mode-frequency:
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
Definition: Frequency (Hz) of the swith mode power supply;
|
||||
Definition: Frequency (Hz) of the switch mode power supply;
|
||||
must be one of:
|
||||
19200000, 9600000, 6400000, 4800000, 3840000, 3200000,
|
||||
2740000, 2400000, 2130000, 1920000, 1750000, 1600000,
|
||||
|
@ -1,7 +1,7 @@
|
||||
* Marvell Armada 370 / Armada XP / Armada 3700 Ethernet Controller (NETA)
|
||||
|
||||
Required properties:
|
||||
- compatible: could be one of the followings
|
||||
- compatible: could be one of the following:
|
||||
"marvell,armada-370-neta"
|
||||
"marvell,armada-xp-neta"
|
||||
"marvell,armada-3700-neta"
|
||||
|
@ -136,7 +136,7 @@ Optional properties:
|
||||
larger OPP table, based on what version of the hardware we are running on. We
|
||||
still can't have multiple nodes with the same opp-hz value in OPP table.
|
||||
|
||||
It's an user defined array containing a hierarchy of hardware version numbers,
|
||||
It's a user defined array containing a hierarchy of hardware version numbers,
|
||||
supported by the OPP. For example: a platform with hierarchy of three levels
|
||||
of versions (A, B and C), this field should be like <X Y Z>, where X
|
||||
corresponds to Version hierarchy A, Y corresponds to version hierarchy B and Z
|
||||
|
@ -6,7 +6,7 @@ the first two functions being GPIO in and out. The configuration on
|
||||
the pins includes drive strength and pull-up.
|
||||
|
||||
Required properties:
|
||||
- compatible: Should be one of the followings (depending on you SoC):
|
||||
- compatible: Should be one of the following (depending on your SoC):
|
||||
"allwinner,sun4i-a10-pinctrl"
|
||||
"allwinner,sun5i-a10s-pinctrl"
|
||||
"allwinner,sun5i-a13-pinctrl"
|
||||
|
@ -23,7 +23,7 @@ Optional Properties:
|
||||
- clock-names: The following clocks can be specified:
|
||||
- oscclk: Oscillator clock.
|
||||
- clkN: Input clocks to the devices in this power domain. These clocks
|
||||
will be reparented to oscclk before swithing power domain off.
|
||||
will be reparented to oscclk before switching power domain off.
|
||||
Their original parent will be brought back after turning on
|
||||
the domain. Maximum of 4 clocks (N = 0 to 3) are supported.
|
||||
- asbN: Clocks required by asynchronous bridges (ASB) present in
|
||||
|
@ -10,7 +10,7 @@ From RK3368 SoCs, the GRF is divided into two sections,
|
||||
|
||||
Required Properties:
|
||||
|
||||
- compatible: GRF should be one of the followings
|
||||
- compatible: GRF should be one of the following:
|
||||
- "rockchip,rk3036-grf", "syscon": for rk3036
|
||||
- "rockchip,rk3066-grf", "syscon": for rk3066
|
||||
- "rockchip,rk3188-grf", "syscon": for rk3188
|
||||
@ -18,7 +18,7 @@ Required Properties:
|
||||
- "rockchip,rk3288-grf", "syscon": for rk3288
|
||||
- "rockchip,rk3368-grf", "syscon": for rk3368
|
||||
- "rockchip,rk3399-grf", "syscon": for rk3399
|
||||
- compatible: PMUGRF should be one of the followings
|
||||
- compatible: PMUGRF should be one of the following:
|
||||
- "rockchip,rk3368-pmugrf", "syscon": for rk3368
|
||||
- "rockchip,rk3399-pmugrf", "syscon": for rk3399
|
||||
- compatible: SGRF should be one of the following
|
||||
|
@ -5,7 +5,7 @@ audio data transfer between devices in the system.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible: should be one of the followings
|
||||
- compatible: should be one of the following:
|
||||
- "rockchip,rk3066-i2s": for rk3066
|
||||
- "rockchip,rk3188-i2s", "rockchip,rk3066-i2s": for rk3188
|
||||
- "rockchip,rk3288-i2s", "rockchip,rk3066-i2s": for rk3288
|
||||
@ -17,7 +17,7 @@ Required properties:
|
||||
Documentation/devicetree/bindings/dma/dma.txt
|
||||
- dma-names: should include "tx" and "rx".
|
||||
- clocks: a list of phandle + clock-specifer pairs, one for each entry in clock-names.
|
||||
- clock-names: should contain followings:
|
||||
- clock-names: should contain the following:
|
||||
- "i2s_hclk": clock for I2S BUS
|
||||
- "i2s_clk" : clock for I2S controller
|
||||
- rockchip,playback-channels: max playback channels, if not set, 8 channels default.
|
||||
|
@ -14,7 +14,7 @@ Required properties:
|
||||
- dma-names: should include "tx" and "rx".
|
||||
- clocks: a list of phandle + clock-specifer pairs, one for each entry
|
||||
in clock-names.
|
||||
- clock-names: should contain followings:
|
||||
- clock-names: should contain the following:
|
||||
- "apb": the parent APB clock for this controller
|
||||
- "codec": the parent module clock
|
||||
|
||||
|
@ -5,7 +5,7 @@ audio data transfer between devices in the system.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible: should be one of the followings
|
||||
- compatible: should be one of the following:
|
||||
- "allwinner,sun4i-a10-i2s"
|
||||
- "allwinner,sun6i-a31-i2s"
|
||||
- reg: physical base address of the controller and length of memory mapped
|
||||
@ -15,7 +15,7 @@ Required properties:
|
||||
Documentation/devicetree/bindings/dma/dma.txt
|
||||
- dma-names: should include "tx" and "rx".
|
||||
- clocks: a list of phandle + clock-specifer pairs, one for each entry in clock-names.
|
||||
- clock-names: should contain followings:
|
||||
- clock-names: should contain the following:
|
||||
- "apb" : clock for the I2S bus interface
|
||||
- "mod" : module clock for the I2S controller
|
||||
- #sound-dai-cells : Must be equal to 0
|
||||
|
@ -179,6 +179,7 @@ struct autofs_dev_ioctl {
|
||||
* including this struct */
|
||||
__s32 ioctlfd; /* automount command fd */
|
||||
|
||||
/* Command parameters */
|
||||
union {
|
||||
struct args_protover protover;
|
||||
struct args_protosubver protosubver;
|
||||
|
@ -65,7 +65,7 @@ directory is a mount trap only if the filesystem is mounted *direct*
|
||||
and the root is empty.
|
||||
|
||||
Directories created in the root directory are mount traps only if the
|
||||
filesystem is mounted *indirect* and they are empty.
|
||||
filesystem is mounted *indirect* and they are empty.
|
||||
|
||||
Directories further down the tree depend on the *maxproto* mount
|
||||
option and particularly whether it is less than five or not.
|
||||
@ -352,7 +352,7 @@ Communicating with autofs: root directory ioctls
|
||||
------------------------------------------------
|
||||
|
||||
The root directory of an autofs filesystem will respond to a number of
|
||||
ioctls. The process issuing the ioctl must have the CAP_SYS_ADMIN
|
||||
ioctls. The process issuing the ioctl must have the CAP_SYS_ADMIN
|
||||
capability, or must be the automount daemon.
|
||||
|
||||
The available ioctl commands are:
|
||||
@ -425,8 +425,20 @@ Each ioctl is passed a pointer to an `autofs_dev_ioctl` structure:
|
||||
* including this struct */
|
||||
__s32 ioctlfd; /* automount command fd */
|
||||
|
||||
__u32 arg1; /* Command parameters */
|
||||
__u32 arg2;
|
||||
/* Command parameters */
|
||||
union {
|
||||
struct args_protover protover;
|
||||
struct args_protosubver protosubver;
|
||||
struct args_openmount openmount;
|
||||
struct args_ready ready;
|
||||
struct args_fail fail;
|
||||
struct args_setpipefd setpipefd;
|
||||
struct args_timeout timeout;
|
||||
struct args_requester requester;
|
||||
struct args_expire expire;
|
||||
struct args_askumount askumount;
|
||||
struct args_ismountpoint ismountpoint;
|
||||
};
|
||||
|
||||
char path[0];
|
||||
};
|
||||
@ -446,25 +458,22 @@ Commands are:
|
||||
set version numbers.
|
||||
- **AUTOFS_DEV_IOCTL_OPENMOUNT_CMD**: return an open file descriptor
|
||||
on the root of an autofs filesystem. The filesystem is identified
|
||||
by name and device number, which is stored in `arg1`. Device
|
||||
numbers for existing filesystems can be found in
|
||||
by name and device number, which is stored in `openmount.devid`.
|
||||
Device numbers for existing filesystems can be found in
|
||||
`/proc/self/mountinfo`.
|
||||
- **AUTOFS_DEV_IOCTL_CLOSEMOUNT_CMD**: same as `close(ioctlfd)`.
|
||||
- **AUTOFS_DEV_IOCTL_SETPIPEFD_CMD**: if the filesystem is in
|
||||
catatonic mode, this can provide the write end of a new pipe
|
||||
in `arg1` to re-establish communication with a daemon. The
|
||||
process group of the calling process is used to identify the
|
||||
in `setpipefd.pipefd` to re-establish communication with a daemon.
|
||||
The process group of the calling process is used to identify the
|
||||
daemon.
|
||||
- **AUTOFS_DEV_IOCTL_REQUESTER_CMD**: `path` should be a
|
||||
name within the filesystem that has been auto-mounted on.
|
||||
arg1 is the dev number of the underlying autofs. On successful
|
||||
return, `arg1` and `arg2` will be the UID and GID of the process
|
||||
which triggered that mount.
|
||||
|
||||
On successful return, `requester.uid` and `requester.gid` will be
|
||||
the UID and GID of the process which triggered that mount.
|
||||
- **AUTOFS_DEV_IOCTL_ISMOUNTPOINT_CMD**: Check if path is a
|
||||
mountpoint of a particular type - see separate documentation for
|
||||
details.
|
||||
|
||||
- **AUTOFS_DEV_IOCTL_PROTOVER_CMD**:
|
||||
- **AUTOFS_DEV_IOCTL_PROTOSUBVER_CMD**:
|
||||
- **AUTOFS_DEV_IOCTL_READY_CMD**:
|
||||
@ -474,7 +483,7 @@ Commands are:
|
||||
- **AUTOFS_DEV_IOCTL_EXPIRE_CMD**:
|
||||
- **AUTOFS_DEV_IOCTL_ASKUMOUNT_CMD**: These all have the same
|
||||
function as the similarly named **AUTOFS_IOC** ioctls, except
|
||||
that **FAIL** can be given an explicit error number in `arg1`
|
||||
that **FAIL** can be given an explicit error number in `fail.status`
|
||||
instead of assuming `ENOENT`, and this **EXPIRE** command
|
||||
corresponds to **AUTOFS_IOC_EXPIRE_MULTI**.
|
||||
|
||||
@ -512,7 +521,7 @@ always be mounted "shared". e.g.
|
||||
|
||||
> `mount --make-shared /autofs/mount/point`
|
||||
|
||||
The automount daemon is only able to mange a single mount location for
|
||||
The automount daemon is only able to manage a single mount location for
|
||||
an autofs filesystem and if mounts on that are not 'shared', other
|
||||
locations will not behave as expected. In particular access to those
|
||||
other locations will likely result in the `ELOOP` error
|
||||
|
@ -6,7 +6,7 @@ Quota subsystem allows system administrator to set limits on used space and
|
||||
number of used inodes (inode is a filesystem structure which is associated with
|
||||
each file or directory) for users and/or groups. For both used space and number
|
||||
of used inodes there are actually two limits. The first one is called softlimit
|
||||
and the second one hardlimit. An user can never exceed a hardlimit for any
|
||||
and the second one hardlimit. A user can never exceed a hardlimit for any
|
||||
resource (unless he has CAP_SYS_RESOURCE capability). User is allowed to exceed
|
||||
softlimit but only for limited period of time. This period is called "grace
|
||||
period" or "grace time". When grace time is over, user is not able to allocate
|
||||
|
@ -59,14 +59,14 @@ Install selftests
|
||||
=================
|
||||
|
||||
You can use kselftest_install.sh tool installs selftests in default
|
||||
location which is tools/testing/selftests/kselftest or an user specified
|
||||
location which is tools/testing/selftests/kselftest or a user specified
|
||||
location.
|
||||
|
||||
To install selftests in default location:
|
||||
$ cd tools/testing/selftests
|
||||
$ ./kselftest_install.sh
|
||||
|
||||
To install selftests in an user specified location:
|
||||
To install selftests in a user specified location:
|
||||
$ cd tools/testing/selftests
|
||||
$ ./kselftest_install.sh install_dir
|
||||
|
||||
|
@ -20,7 +20,7 @@ existing low level CI API.
|
||||
ca_zap
|
||||
~~~~~~
|
||||
|
||||
An userspace application, like ``ca_zap`` is required to handle encrypted
|
||||
A userspace application, like ``ca_zap`` is required to handle encrypted
|
||||
MPEG-TS streams.
|
||||
|
||||
The ``ca_zap`` userland application is in charge of sending the
|
||||
|
@ -9,7 +9,7 @@ frontend parameters
|
||||
The kind of parameters passed to the frontend device for tuning depend
|
||||
on the kind of hardware you are using.
|
||||
|
||||
The struct ``dvb_frontend_parameters`` uses an union with specific
|
||||
The struct ``dvb_frontend_parameters`` uses a union with specific
|
||||
per-system parameters. However, as newer delivery systems required more
|
||||
data, the structure size weren't enough to fit, and just extending its
|
||||
size would break the existing applications. So, those parameters were
|
||||
@ -23,7 +23,7 @@ So, newer applications should use
|
||||
instead, in order to be able to support the newer System Delivery like
|
||||
DVB-S2, DVB-T2, DVB-C2, ISDB, etc.
|
||||
|
||||
All kinds of parameters are combined as an union in the
|
||||
All kinds of parameters are combined as a union in the
|
||||
FrontendParameters structure:
|
||||
|
||||
|
||||
|
@ -114,11 +114,11 @@ config options.
|
||||
Memory model -> Sparse Memory (CONFIG_SPARSEMEM)
|
||||
Allow for memory hot-add (CONFIG_MEMORY_HOTPLUG)
|
||||
|
||||
- To enable memory removal, the followings are also necessary
|
||||
- To enable memory removal, the following are also necessary
|
||||
Allow for memory hot remove (CONFIG_MEMORY_HOTREMOVE)
|
||||
Page Migration (CONFIG_MIGRATION)
|
||||
|
||||
- For ACPI memory hotplug, the followings are also necessary
|
||||
- For ACPI memory hotplug, the following are also necessary
|
||||
Memory hotplug (under ACPI Support menu) (CONFIG_ACPI_HOTPLUG_MEMORY)
|
||||
This option can be kernel module.
|
||||
|
||||
|
@ -38,7 +38,7 @@ Basic usage
|
||||
===========
|
||||
|
||||
MBIM functions are inactive when unmanaged. The cdc_mbim driver only
|
||||
provides an userspace interface to the MBIM control channel, and will
|
||||
provides a userspace interface to the MBIM control channel, and will
|
||||
not participate in the management of the function. This implies that a
|
||||
userspace MBIM management application always is required to enable a
|
||||
MBIM function.
|
||||
@ -200,7 +200,7 @@ structure described in section 10.5.29 of [1].
|
||||
The DSS VLAN subdevices are used as a practical interface between the
|
||||
shared MBIM data channel and a MBIM DSS aware userspace application.
|
||||
It is not intended to be presented as-is to an end user. The
|
||||
assumption is that an userspace application initiating a DSS session
|
||||
assumption is that a userspace application initiating a DSS session
|
||||
also takes care of the necessary framing of the DSS data, presenting
|
||||
the stream to the end user in an appropriate way for the stream type.
|
||||
|
||||
|
@ -549,7 +549,7 @@ ii. Reduced by 1 max cmds sent to FW from Driver to make the reply_q_sz same
|
||||
3 Older Version : 00.00.03.02
|
||||
|
||||
i. Send stop adapter to FW & Dump pending FW cmds before declaring adapter dead.
|
||||
New varible added to set dbg level.
|
||||
New variable added to set dbg level.
|
||||
ii. Disable interrupt made as fn pointer as they are different for 1068 / 1078
|
||||
iii. Frame count optimization. Main frame can contain 2 SGE for 64 bit SGLs and
|
||||
3 SGE for 32 bit SGL
|
||||
|
@ -697,7 +697,7 @@ If it's a regression, at best, send alsa-info outputs of both working
|
||||
and non-working kernels. This is really helpful because we can
|
||||
compare the codec registers directly.
|
||||
|
||||
Send a bug report either the followings:
|
||||
Send a bug report either the following:
|
||||
|
||||
kernel-bugzilla
|
||||
https://bugzilla.kernel.org/
|
||||
|
@ -149,7 +149,7 @@ migration thread in the QEMU running in the destination node will
|
||||
receive the page that triggered the userfault and it'll map it as
|
||||
usual with the UFFDIO_COPY|ZEROPAGE (without actually knowing if it
|
||||
was spontaneously sent by the source or if it was an urgent page
|
||||
requested through an userfault).
|
||||
requested through a userfault).
|
||||
|
||||
By the time the userfaults start, the QEMU in the destination node
|
||||
doesn't need to keep any per-page state bitmap relative to the live
|
||||
|
@ -7286,6 +7286,7 @@ M: Masami Hiramatsu <mhiramat@kernel.org>
|
||||
S: Maintained
|
||||
F: Documentation/kprobes.txt
|
||||
F: include/linux/kprobes.h
|
||||
F: include/asm-generic/kprobes.h
|
||||
F: kernel/kprobes.c
|
||||
|
||||
KS0108 LCD CONTROLLER DRIVER
|
||||
|
@ -29,7 +29,7 @@ config OPROFILE_EVENT_MULTIPLEX
|
||||
The number of hardware counters is limited. The multiplexing
|
||||
feature enables OProfile to gather more events than counters
|
||||
are provided by the hardware. This is realized by switching
|
||||
between events at an user specified time interval.
|
||||
between events at a user specified time interval.
|
||||
|
||||
If unsure, say N.
|
||||
|
||||
|
@ -10,3 +10,4 @@ generic-y += preempt.h
|
||||
generic-y += sections.h
|
||||
generic-y += trace_clock.h
|
||||
generic-y += current.h
|
||||
generic-y += kprobes.h
|
||||
|
@ -144,7 +144,7 @@ smp_callin(void)
|
||||
alpha_mv.smp_callin();
|
||||
|
||||
/* All kernel threads share the same mm context. */
|
||||
atomic_inc(&init_mm.mm_count);
|
||||
mmgrab(&init_mm);
|
||||
current->active_mm = &init_mm;
|
||||
|
||||
/* inform the notifiers about the new cpu */
|
||||
|
@ -9,6 +9,8 @@
|
||||
#ifndef _ARC_KPROBES_H
|
||||
#define _ARC_KPROBES_H
|
||||
|
||||
#include <asm-generic/kprobes.h>
|
||||
|
||||
#ifdef CONFIG_KPROBES
|
||||
|
||||
typedef u16 kprobe_opcode_t;
|
||||
@ -55,6 +57,6 @@ void trap_is_kprobe(unsigned long address, struct pt_regs *regs);
|
||||
static void trap_is_kprobe(unsigned long address, struct pt_regs *regs)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
#endif /* CONFIG_KPROBES */
|
||||
|
||||
#endif
|
||||
#endif /* _ARC_KPROBES_H */
|
||||
|
@ -139,8 +139,8 @@ void start_kernel_secondary(void)
|
||||
/* MMU, Caches, Vector Table, Interrupts etc */
|
||||
setup_processor();
|
||||
|
||||
atomic_inc(&mm->mm_users);
|
||||
atomic_inc(&mm->mm_count);
|
||||
mmget(mm);
|
||||
mmgrab(mm);
|
||||
current->active_mm = mm;
|
||||
cpumask_set_cpu(cpu, mm_cpumask(mm));
|
||||
|
||||
|
@ -1051,9 +1051,9 @@ int arc_unwind(struct unwind_frame_info *frame)
|
||||
++ptr;
|
||||
}
|
||||
if (cie != NULL) {
|
||||
/* get code aligment factor */
|
||||
/* get code alignment factor */
|
||||
state.codeAlign = get_uleb128(&ptr, end);
|
||||
/* get data aligment factor */
|
||||
/* get data alignment factor */
|
||||
state.dataAlign = get_sleb128(&ptr, end);
|
||||
if (state.codeAlign == 0 || state.dataAlign == 0 || ptr >= end)
|
||||
cie = NULL;
|
||||
|
@ -1196,7 +1196,7 @@ skip:
|
||||
bgt loop1
|
||||
finished:
|
||||
ldmfd sp!, {r0-r7, r9-r11}
|
||||
mov r10, #0 @ swith back to cache level 0
|
||||
mov r10, #0 @ switch back to cache level 0
|
||||
mcr p15, 2, r10, c0, c0, 0 @ select current cache level in cssr
|
||||
iflush:
|
||||
mcr p15, 0, r10, c7, c10, 4 @ DSB
|
||||
|
@ -16,6 +16,9 @@
|
||||
#ifndef _ARM_KPROBES_H
|
||||
#define _ARM_KPROBES_H
|
||||
|
||||
#include <asm-generic/kprobes.h>
|
||||
|
||||
#ifdef CONFIG_KPROBES
|
||||
#include <linux/types.h>
|
||||
#include <linux/ptrace.h>
|
||||
#include <linux/notifier.h>
|
||||
@ -83,4 +86,5 @@ struct arch_optimized_insn {
|
||||
*/
|
||||
};
|
||||
|
||||
#endif /* CONFIG_KPROBES */
|
||||
#endif /* _ARM_KPROBES_H */
|
||||
|
@ -22,7 +22,7 @@ struct mtd_info;
|
||||
* set_vpp: method called to enable or disable VPP
|
||||
* mmcontrol: method called to enable or disable Sync. Burst Read in OneNAND
|
||||
* parts: optional array of mtd_partitions for static partitioning
|
||||
* nr_parts: number of mtd_partitions for static partitoning
|
||||
* nr_parts: number of mtd_partitions for static partitioning
|
||||
*/
|
||||
struct flash_platform_data {
|
||||
const char *map_name;
|
||||
|
@ -371,7 +371,7 @@ asmlinkage void secondary_start_kernel(void)
|
||||
* reference and switch to it.
|
||||
*/
|
||||
cpu = smp_processor_id();
|
||||
atomic_inc(&mm->mm_count);
|
||||
mmgrab(mm);
|
||||
current->active_mm = mm;
|
||||
cpumask_set_cpu(cpu, mm_cpumask(mm));
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/**
|
||||
* OMAP and TWL PMIC specific intializations.
|
||||
* OMAP and TWL PMIC specific initializations.
|
||||
*
|
||||
* Copyright (C) 2010 Texas Instruments Incorporated.
|
||||
* Thara Gopinath
|
||||
|
@ -164,7 +164,7 @@ skip:
|
||||
cmp r3, r10
|
||||
bgt flush_levels
|
||||
finished:
|
||||
mov r10, #0 @ swith back to cache level 0
|
||||
mov r10, #0 @ switch back to cache level 0
|
||||
mcr p15, 2, r10, c0, c0, 0 @ select current cache level in cssr
|
||||
dsb st
|
||||
isb
|
||||
|
@ -217,7 +217,7 @@ skip:
|
||||
cmp r3, r10
|
||||
bgt flush_levels
|
||||
finished:
|
||||
mov r10, #0 @ swith back to cache level 0
|
||||
mov r10, #0 @ switch back to cache level 0
|
||||
write_csselr r10, r3 @ select current cache level in cssr
|
||||
dsb st
|
||||
isb
|
||||
|
@ -22,6 +22,7 @@
|
||||
#include <linux/types.h>
|
||||
#include <linux/stddef.h>
|
||||
#include <asm/probes.h>
|
||||
#include <asm/kprobes.h>
|
||||
|
||||
void __init arm_probes_decode_init(void);
|
||||
|
||||
|
@ -16,6 +16,9 @@
|
||||
#ifndef _ARM_KPROBES_H
|
||||
#define _ARM_KPROBES_H
|
||||
|
||||
#include <asm-generic/kprobes.h>
|
||||
|
||||
#ifdef CONFIG_KPROBES
|
||||
#include <linux/types.h>
|
||||
#include <linux/ptrace.h>
|
||||
#include <linux/percpu.h>
|
||||
@ -57,4 +60,5 @@ int kprobe_single_step_handler(struct pt_regs *regs, unsigned int esr);
|
||||
void kretprobe_trampoline(void);
|
||||
void __kprobes *trampoline_probe_handler(struct pt_regs *regs);
|
||||
|
||||
#endif /* CONFIG_KPROBES */
|
||||
#endif /* _ARM_KPROBES_H */
|
||||
|
@ -19,6 +19,7 @@
|
||||
#include <asm/sysreg.h>
|
||||
#include <asm/system_misc.h>
|
||||
#include <asm/traps.h>
|
||||
#include <asm/kprobes.h>
|
||||
#include <linux/uaccess.h>
|
||||
#include <asm/cpufeature.h>
|
||||
|
||||
|
@ -31,6 +31,7 @@
|
||||
#include <asm/debug-monitors.h>
|
||||
#include <asm/fixmap.h>
|
||||
#include <asm/insn.h>
|
||||
#include <asm/kprobes.h>
|
||||
|
||||
#define AARCH64_INSN_SF_BIT BIT(31)
|
||||
#define AARCH64_INSN_N_BIT BIT(22)
|
||||
|
@ -16,6 +16,8 @@
|
||||
#ifndef _ARM_KERNEL_KPROBES_ARM64_H
|
||||
#define _ARM_KERNEL_KPROBES_ARM64_H
|
||||
|
||||
#include <asm/kprobes.h>
|
||||
|
||||
/*
|
||||
* ARM strongly recommends a limit of 128 bytes between LoadExcl and
|
||||
* StoreExcl instructions in a single thread of execution. So keep the
|
||||
|
@ -222,7 +222,7 @@ asmlinkage void secondary_start_kernel(void)
|
||||
* All kernel threads share the same mm context; grab a
|
||||
* reference and switch to it.
|
||||
*/
|
||||
atomic_inc(&mm->mm_count);
|
||||
mmgrab(mm);
|
||||
current->active_mm = mm;
|
||||
|
||||
/*
|
||||
|
@ -62,7 +62,7 @@ D_h .req x14
|
||||
sub count, count, tmp2
|
||||
/*
|
||||
* Copy the leading memory data from src to dst in an increasing
|
||||
* address order.By this way,the risk of overwritting the source
|
||||
* address order.By this way,the risk of overwriting the source
|
||||
* memory data is eliminated when the distance between src and
|
||||
* dst is less than 16. The memory accesses here are alignment.
|
||||
*/
|
||||
|
@ -11,10 +11,14 @@
|
||||
#ifndef __ASM_AVR32_KPROBES_H
|
||||
#define __ASM_AVR32_KPROBES_H
|
||||
|
||||
#include <asm-generic/kprobes.h>
|
||||
|
||||
#define BREAKPOINT_INSTRUCTION 0xd673 /* breakpoint */
|
||||
|
||||
#ifdef CONFIG_KPROBES
|
||||
#include <linux/types.h>
|
||||
|
||||
typedef u16 kprobe_opcode_t;
|
||||
#define BREAKPOINT_INSTRUCTION 0xd673 /* breakpoint */
|
||||
#define MAX_INSN_SIZE 2
|
||||
#define MAX_STACK_SIZE 64 /* 32 would probably be OK */
|
||||
|
||||
@ -46,4 +50,5 @@ extern int kprobe_exceptions_notify(struct notifier_block *self,
|
||||
|
||||
#define flush_insn_slot(p) do { } while (0)
|
||||
|
||||
#endif /* CONFIG_KPROBES */
|
||||
#endif /* __ASM_AVR32_KPROBES_H */
|
||||
|
@ -46,3 +46,4 @@ generic-y += unaligned.h
|
||||
generic-y += user.h
|
||||
generic-y += word-at-a-time.h
|
||||
generic-y += xor.h
|
||||
generic-y += kprobes.h
|
||||
|
@ -307,8 +307,8 @@ void secondary_start_kernel(void)
|
||||
local_irq_disable();
|
||||
|
||||
/* Attach the new idle task to the global mm. */
|
||||
atomic_inc(&mm->mm_users);
|
||||
atomic_inc(&mm->mm_count);
|
||||
mmget(mm);
|
||||
mmgrab(mm);
|
||||
current->active_mm = mm;
|
||||
|
||||
preempt_disable();
|
||||
|
@ -61,3 +61,4 @@ generic-y += user.h
|
||||
generic-y += vga.h
|
||||
generic-y += word-at-a-time.h
|
||||
generic-y += xor.h
|
||||
generic-y += kprobes.h
|
||||
|
@ -45,3 +45,4 @@ generic-y += types.h
|
||||
generic-y += vga.h
|
||||
generic-y += word-at-a-time.h
|
||||
generic-y += xor.h
|
||||
generic-y += kprobes.h
|
||||
|
@ -7,3 +7,4 @@ generic-y += mm-arch-hooks.h
|
||||
generic-y += preempt.h
|
||||
generic-y += trace_clock.h
|
||||
generic-y += word-at-a-time.h
|
||||
generic-y += kprobes.h
|
||||
|
@ -188,7 +188,7 @@ int cxn_pin_by_pid(pid_t pid)
|
||||
task_lock(tsk);
|
||||
if (tsk->mm) {
|
||||
mm = tsk->mm;
|
||||
atomic_inc(&mm->mm_users);
|
||||
mmget(mm);
|
||||
ret = 0;
|
||||
}
|
||||
task_unlock(tsk);
|
||||
|
@ -74,3 +74,4 @@ generic-y += unaligned.h
|
||||
generic-y += vga.h
|
||||
generic-y += word-at-a-time.h
|
||||
generic-y += xor.h
|
||||
generic-y += kprobes.h
|
||||
|
@ -59,3 +59,4 @@ generic-y += unaligned.h
|
||||
generic-y += vga.h
|
||||
generic-y += word-at-a-time.h
|
||||
generic-y += xor.h
|
||||
generic-y += kprobes.h
|
||||
|
@ -162,7 +162,7 @@ void start_secondary(void)
|
||||
);
|
||||
|
||||
/* Set the memory struct */
|
||||
atomic_inc(&init_mm.mm_count);
|
||||
mmgrab(&init_mm);
|
||||
current->active_mm = &init_mm;
|
||||
|
||||
cpu = smp_processor_id();
|
||||
|
@ -23,14 +23,19 @@
|
||||
* 2005-Apr Rusty Lynch <rusty.lynch@intel.com> and Anil S Keshavamurthy
|
||||
* <anil.s.keshavamurthy@intel.com> adapted from i386
|
||||
*/
|
||||
#include <asm-generic/kprobes.h>
|
||||
#include <asm/break.h>
|
||||
|
||||
#define BREAK_INST (long)(__IA64_BREAK_KPROBE << 6)
|
||||
|
||||
#ifdef CONFIG_KPROBES
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/ptrace.h>
|
||||
#include <linux/percpu.h>
|
||||
#include <asm/break.h>
|
||||
|
||||
#define __ARCH_WANT_KPROBES_INSN_SLOT
|
||||
#define MAX_INSN_SIZE 2 /* last half is for kprobe-booster */
|
||||
#define BREAK_INST (long)(__IA64_BREAK_KPROBE << 6)
|
||||
#define NOP_M_INST (long)(1<<27)
|
||||
#define BRL_INST(i1, i2) ((long)((0xcL << 37) | /* brl */ \
|
||||
(0x1L << 12) | /* many */ \
|
||||
@ -124,4 +129,5 @@ extern void invalidate_stacked_regs(void);
|
||||
extern void flush_register_stack(void);
|
||||
extern void arch_remove_kprobe(struct kprobe *p);
|
||||
|
||||
#endif /* _ASM_KPROBES_H */
|
||||
#endif /* CONFIG_KPROBES */
|
||||
#endif /* _ASM_KPROBES_H */
|
||||
|
@ -994,7 +994,7 @@ cpu_init (void)
|
||||
*/
|
||||
ia64_setreg(_IA64_REG_CR_DCR, ( IA64_DCR_DP | IA64_DCR_DK | IA64_DCR_DX | IA64_DCR_DR
|
||||
| IA64_DCR_DA | IA64_DCR_DD | IA64_DCR_LC));
|
||||
atomic_inc(&init_mm.mm_count);
|
||||
mmgrab(&init_mm);
|
||||
current->active_mm = &init_mm;
|
||||
BUG_ON(current->mm);
|
||||
|
||||
|
@ -525,7 +525,7 @@ static int sn_topology_show(struct seq_file *s, void *d)
|
||||
/* both ends local to this partition */
|
||||
seq_puts(s, " local");
|
||||
else if (SN_HWPERF_FOREIGN(p))
|
||||
/* both ends of the link in foreign partiton */
|
||||
/* both ends of the link in foreign partition */
|
||||
seq_puts(s, " foreign");
|
||||
else
|
||||
/* link straddles a partition */
|
||||
|
@ -11,3 +11,4 @@ generic-y += preempt.h
|
||||
generic-y += sections.h
|
||||
generic-y += trace_clock.h
|
||||
generic-y += word-at-a-time.h
|
||||
generic-y += kprobes.h
|
||||
|
@ -403,7 +403,7 @@ void __init cpu_init (void)
|
||||
printk(KERN_INFO "Initializing CPU#%d\n", cpu_id);
|
||||
|
||||
/* Set up and load the per-CPU TSS and LDT */
|
||||
atomic_inc(&init_mm.mm_count);
|
||||
mmgrab(&init_mm);
|
||||
current->active_mm = &init_mm;
|
||||
if (current->mm)
|
||||
BUG();
|
||||
|
@ -3814,7 +3814,7 @@ CAS2W2_FILLER:
|
||||
# (3) Save current DFC/SFC (ASSUMED TO BE EQUAL!!!); Then set #
|
||||
# SFC/DFC according to whether exception occurred in user or #
|
||||
# supervisor mode. #
|
||||
# (4) Use "plpaw" instruction to pre-load ATC with efective #
|
||||
# (4) Use "plpaw" instruction to pre-load ATC with effective #
|
||||
# address page(s). THIS SHOULD NOT FAULT!!! The relevant #
|
||||
# page(s) should have been made resident prior to entering #
|
||||
# this routine. #
|
||||
|
@ -33,3 +33,4 @@ generic-y += trace_clock.h
|
||||
generic-y += types.h
|
||||
generic-y += word-at-a-time.h
|
||||
generic-y += xor.h
|
||||
generic-y += kprobes.h
|
||||
|
@ -54,3 +54,4 @@ generic-y += user.h
|
||||
generic-y += vga.h
|
||||
generic-y += word-at-a-time.h
|
||||
generic-y += xor.h
|
||||
generic-y += kprobes.h
|
||||
|
@ -344,8 +344,8 @@ asmlinkage void secondary_start_kernel(void)
|
||||
* All kernel threads share the same mm context; grab a
|
||||
* reference and switch to it.
|
||||
*/
|
||||
atomic_inc(&mm->mm_users);
|
||||
atomic_inc(&mm->mm_count);
|
||||
mmget(mm);
|
||||
mmgrab(mm);
|
||||
current->active_mm = mm;
|
||||
cpumask_set_cpu(cpu, mm_cpumask(mm));
|
||||
enter_lazy_tlb(mm, current);
|
||||
|
@ -10,3 +10,4 @@ generic-y += preempt.h
|
||||
generic-y += syscalls.h
|
||||
generic-y += trace_clock.h
|
||||
generic-y += word-at-a-time.h
|
||||
generic-y += kprobes.h
|
||||
|
@ -22,6 +22,9 @@
|
||||
#ifndef _ASM_KPROBES_H
|
||||
#define _ASM_KPROBES_H
|
||||
|
||||
#include <asm-generic/kprobes.h>
|
||||
|
||||
#ifdef CONFIG_KPROBES
|
||||
#include <linux/ptrace.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
@ -94,4 +97,5 @@ struct kprobe_ctlblk {
|
||||
extern int kprobe_exceptions_notify(struct notifier_block *self,
|
||||
unsigned long val, void *data);
|
||||
|
||||
#endif /* _ASM_KPROBES_H */
|
||||
#endif /* CONFIG_KPROBES */
|
||||
#endif /* _ASM_KPROBES_H */
|
||||
|
@ -2232,7 +2232,7 @@ void per_cpu_trap_init(bool is_boot_cpu)
|
||||
if (!cpu_data[cpu].asid_cache)
|
||||
cpu_data[cpu].asid_cache = asid_first_version(cpu);
|
||||
|
||||
atomic_inc(&init_mm.mm_count);
|
||||
mmgrab(&init_mm);
|
||||
current->active_mm = &init_mm;
|
||||
BUG_ON(current->mm);
|
||||
enter_lazy_tlb(&init_mm, current);
|
||||
|
@ -21,13 +21,17 @@
|
||||
#ifndef _ASM_KPROBES_H
|
||||
#define _ASM_KPROBES_H
|
||||
|
||||
#include <asm-generic/kprobes.h>
|
||||
|
||||
#define BREAKPOINT_INSTRUCTION 0xff
|
||||
|
||||
#ifdef CONFIG_KPROBES
|
||||
#include <linux/types.h>
|
||||
#include <linux/ptrace.h>
|
||||
|
||||
struct kprobe;
|
||||
|
||||
typedef unsigned char kprobe_opcode_t;
|
||||
#define BREAKPOINT_INSTRUCTION 0xff
|
||||
#define MAX_INSN_SIZE 8
|
||||
#define MAX_STACK_SIZE 128
|
||||
|
||||
@ -47,4 +51,5 @@ extern int kprobe_exceptions_notify(struct notifier_block *self,
|
||||
|
||||
extern void arch_remove_kprobe(struct kprobe *p);
|
||||
|
||||
#endif /* CONFIG_KPROBES */
|
||||
#endif /* _ASM_KPROBES_H */
|
||||
|
@ -589,7 +589,7 @@ static void __init smp_cpu_init(void)
|
||||
}
|
||||
printk(KERN_INFO "Initializing CPU#%d\n", cpu_id);
|
||||
|
||||
atomic_inc(&init_mm.mm_count);
|
||||
mmgrab(&init_mm);
|
||||
current->active_mm = &init_mm;
|
||||
BUG_ON(current->mm);
|
||||
|
||||
|
@ -62,3 +62,4 @@ generic-y += user.h
|
||||
generic-y += vga.h
|
||||
generic-y += word-at-a-time.h
|
||||
generic-y += xor.h
|
||||
generic-y += kprobes.h
|
||||
|
@ -67,3 +67,4 @@ generic-y += user.h
|
||||
generic-y += vga.h
|
||||
generic-y += word-at-a-time.h
|
||||
generic-y += xor.h
|
||||
generic-y += kprobes.h
|
||||
|
@ -319,7 +319,7 @@ EXCEPTION_ENTRY(_timer_handler)
|
||||
l.j _ret_from_intr
|
||||
l.nop
|
||||
|
||||
/* ---[ 0x600: Aligment exception ]-------------------------------------- */
|
||||
/* ---[ 0x600: Alignment exception ]-------------------------------------- */
|
||||
|
||||
EXCEPTION_ENTRY(_alignment_handler)
|
||||
CLEAR_LWA_FLAG(r3)
|
||||
@ -331,8 +331,8 @@ EXCEPTION_ENTRY(_alignment_handler)
|
||||
l.nop
|
||||
|
||||
#if 0
|
||||
EXCEPTION_ENTRY(_aligment_handler)
|
||||
// l.mfspr r2,r0,SPR_EEAR_BASE /* Load the efective addres */
|
||||
EXCEPTION_ENTRY(_alignment_handler)
|
||||
// l.mfspr r2,r0,SPR_EEAR_BASE /* Load the effective address */
|
||||
l.addi r2,r4,0
|
||||
// l.mfspr r5,r0,SPR_EPCR_BASE /* Load the insn address */
|
||||
l.lwz r5,PT_PC(r1)
|
||||
|
@ -325,7 +325,7 @@ _dispatch_do_ipage_fault:
|
||||
.org 0x500
|
||||
EXCEPTION_HANDLE(_timer_handler)
|
||||
|
||||
/* ---[ 0x600: Aligment exception ]-------------------------------------- */
|
||||
/* ---[ 0x600: Alignment exception ]-------------------------------------- */
|
||||
.org 0x600
|
||||
EXCEPTION_HANDLE(_alignment_handler)
|
||||
|
||||
@ -640,8 +640,8 @@ _flush_tlb:
|
||||
|
||||
/* ========================================[ cache ]=== */
|
||||
|
||||
/* aligment here so we don't change memory offsets with
|
||||
* memory controler defined
|
||||
/* alignment here so we don't change memory offsets with
|
||||
* memory controller defined
|
||||
*/
|
||||
.align 0x2000
|
||||
|
||||
|
@ -19,8 +19,8 @@
|
||||
|
||||
/* TODO
|
||||
* - clean up __offset & stuff
|
||||
* - change all 8192 aligment to PAGE !!!
|
||||
* - recheck if all aligments are really needed
|
||||
* - change all 8192 alignment to PAGE !!!
|
||||
* - recheck if all alignments are really needed
|
||||
*/
|
||||
|
||||
# define LOAD_OFFSET PAGE_OFFSET
|
||||
|
@ -28,3 +28,4 @@ generic-y += user.h
|
||||
generic-y += vga.h
|
||||
generic-y += word-at-a-time.h
|
||||
generic-y += xor.h
|
||||
generic-y += kprobes.h
|
||||
|
@ -279,7 +279,7 @@ smp_cpu_init(int cpunum)
|
||||
set_cpu_online(cpunum, true);
|
||||
|
||||
/* Initialise the idle task for this CPU */
|
||||
atomic_inc(&init_mm.mm_count);
|
||||
mmgrab(&init_mm);
|
||||
current->active_mm = &init_mm;
|
||||
BUG_ON(current->mm);
|
||||
enter_lazy_tlb(&init_mm, current);
|
||||
|
@ -55,7 +55,7 @@
|
||||
label = "kernel";
|
||||
reg = <0x01c00000 0x002e0000>;
|
||||
};
|
||||
partiton@1ee0000 {
|
||||
partition@1ee0000 {
|
||||
label = "dtb";
|
||||
reg = <0x01ee0000 0x00020000>;
|
||||
};
|
||||
|
@ -30,7 +30,7 @@ extern struct mmu_psize_def mmu_psize_defs[MMU_PAGE_COUNT];
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
/*
|
||||
* ISA 3.0 partiton and process table entry format
|
||||
* ISA 3.0 partition and process table entry format
|
||||
*/
|
||||
struct prtb_entry {
|
||||
__be64 prtb0;
|
||||
|
@ -109,7 +109,7 @@ static inline unsigned int fh_send_nmi(unsigned int vcpu_mask)
|
||||
#define FH_DTPROP_MAX_PROPLEN 32768
|
||||
|
||||
/**
|
||||
* fh_partiton_get_dtprop - get a property from a guest device tree.
|
||||
* fh_partition_get_dtprop - get a property from a guest device tree.
|
||||
* @handle: handle of partition whose device tree is to be accessed
|
||||
* @dtpath_addr: physical address of device tree path to access
|
||||
* @propname_addr: physical address of name of property
|
||||
|
@ -1,5 +1,8 @@
|
||||
#ifndef _ASM_POWERPC_KPROBES_H
|
||||
#define _ASM_POWERPC_KPROBES_H
|
||||
|
||||
#include <asm-generic/kprobes.h>
|
||||
|
||||
#ifdef __KERNEL__
|
||||
/*
|
||||
* Kernel Probes (KProbes)
|
||||
|
@ -707,7 +707,7 @@ void start_secondary(void *unused)
|
||||
unsigned int cpu = smp_processor_id();
|
||||
int i, base;
|
||||
|
||||
atomic_inc(&init_mm.mm_count);
|
||||
mmgrab(&init_mm);
|
||||
current->active_mm = &init_mm;
|
||||
|
||||
smp_store_cpu_info(cpu);
|
||||
|
@ -14,6 +14,7 @@
|
||||
#include <asm/page.h>
|
||||
#include <asm/code-patching.h>
|
||||
#include <linux/uaccess.h>
|
||||
#include <linux/kprobes.h>
|
||||
|
||||
|
||||
int patch_instruction(unsigned int *addr, unsigned int instr)
|
||||
|
@ -3034,7 +3034,7 @@ static void pnv_ioda_setup_pe_res(struct pnv_ioda_pe *pe,
|
||||
/*
|
||||
* This function is supposed to be called on basis of PE from top
|
||||
* to bottom style. So the the I/O or MMIO segment assigned to
|
||||
* parent PE could be overrided by its child PEs if necessary.
|
||||
* parent PE could be overridden by its child PEs if necessary.
|
||||
*/
|
||||
static void pnv_ioda_setup_pe_seg(struct pnv_ioda_pe *pe)
|
||||
{
|
||||
|
@ -1020,7 +1020,7 @@ static u64 enable_ddw(struct pci_dev *dev, struct device_node *pdn)
|
||||
/* check largest block * page size > max memory hotplug addr */
|
||||
max_addr = memory_hotplug_max();
|
||||
if (query.largest_available_block < (max_addr >> page_shift)) {
|
||||
dev_dbg(&dev->dev, "can't map partiton max 0x%llx with %u "
|
||||
dev_dbg(&dev->dev, "can't map partition max 0x%llx with %u "
|
||||
"%llu-sized pages\n", max_addr, query.largest_available_block,
|
||||
1ULL << page_shift);
|
||||
goto out_failed;
|
||||
|
@ -1587,7 +1587,7 @@ extract_tbr (unsigned long insn,
|
||||
#define CTX(op, xop) (OP (op) | (((unsigned long)(xop)) & 0x7))
|
||||
#define CTX_MASK CTX(0x3f, 0x7)
|
||||
|
||||
/* An User Context form instruction. */
|
||||
/* A User Context form instruction. */
|
||||
#define UCTX(op, xop) (OP (op) | (((unsigned long)(xop)) & 0x1f))
|
||||
#define UCTX_MASK UCTX(0x3f, 0x1f)
|
||||
|
||||
|
@ -27,6 +27,11 @@
|
||||
* 2005-Dec Used as a template for s390 by Mike Grundy
|
||||
* <grundym@us.ibm.com>
|
||||
*/
|
||||
#include <asm-generic/kprobes.h>
|
||||
|
||||
#define BREAKPOINT_INSTRUCTION 0x0002
|
||||
|
||||
#ifdef CONFIG_KPROBES
|
||||
#include <linux/types.h>
|
||||
#include <linux/ptrace.h>
|
||||
#include <linux/percpu.h>
|
||||
@ -37,7 +42,6 @@ struct pt_regs;
|
||||
struct kprobe;
|
||||
|
||||
typedef u16 kprobe_opcode_t;
|
||||
#define BREAKPOINT_INSTRUCTION 0x0002
|
||||
|
||||
/* Maximum instruction size is 3 (16bit) halfwords: */
|
||||
#define MAX_INSN_SIZE 0x0003
|
||||
@ -91,4 +95,5 @@ int probe_is_insn_relative_long(u16 *insn);
|
||||
|
||||
#define flush_insn_slot(p) do { } while (0)
|
||||
|
||||
#endif /* CONFIG_KPROBES */
|
||||
#endif /* _ASM_S390_KPROBES_H */
|
||||
|
@ -73,7 +73,7 @@ void cpu_init(void)
|
||||
get_cpu_id(id);
|
||||
if (machine_has_cpu_mhz)
|
||||
update_cpu_mhz(NULL);
|
||||
atomic_inc(&init_mm.mm_count);
|
||||
mmgrab(&init_mm);
|
||||
current->active_mm = &init_mm;
|
||||
BUG_ON(current->mm);
|
||||
enter_lazy_tlb(&init_mm, current);
|
||||
|
@ -350,7 +350,7 @@ static void __add_vtimer(struct vtimer_list *timer, int periodic)
|
||||
}
|
||||
|
||||
/*
|
||||
* add_virt_timer - add an oneshot virtual CPU timer
|
||||
* add_virt_timer - add a oneshot virtual CPU timer
|
||||
*/
|
||||
void add_virt_timer(struct vtimer_list *timer)
|
||||
{
|
||||
|
@ -13,3 +13,4 @@ generic-y += trace_clock.h
|
||||
generic-y += xor.h
|
||||
generic-y += serial.h
|
||||
generic-y += word-at-a-time.h
|
||||
generic-y += kprobes.h
|
||||
|
@ -336,7 +336,7 @@ void __init trap_init(void)
|
||||
set_except_vector(18, handle_dbe);
|
||||
flush_icache_range(DEBUG_VECTOR_BASE_ADDR, IRQ_VECTOR_BASE_ADDR);
|
||||
|
||||
atomic_inc(&init_mm.mm_count);
|
||||
mmgrab(&init_mm);
|
||||
current->active_mm = &init_mm;
|
||||
cpu_cache_init();
|
||||
}
|
||||
|
@ -1,13 +1,16 @@
|
||||
#ifndef __ASM_SH_KPROBES_H
|
||||
#define __ASM_SH_KPROBES_H
|
||||
|
||||
#include <asm-generic/kprobes.h>
|
||||
|
||||
#define BREAKPOINT_INSTRUCTION 0xc33a
|
||||
|
||||
#ifdef CONFIG_KPROBES
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/ptrace.h>
|
||||
|
||||
typedef insn_size_t kprobe_opcode_t;
|
||||
#define BREAKPOINT_INSTRUCTION 0xc33a
|
||||
|
||||
#define MAX_INSN_SIZE 16
|
||||
#define MAX_STACK_SIZE 64
|
||||
|
@ -99,7 +99,7 @@ static inline void handle_one_irq(unsigned int irq)
|
||||
"mov %0, r4 \n"
|
||||
"mov r15, r8 \n"
|
||||
"jsr @%1 \n"
|
||||
/* swith to the irq stack */
|
||||
/* switch to the irq stack */
|
||||
" mov %2, r15 \n"
|
||||
/* restore the stack (ring zero) */
|
||||
"mov r8, r15 \n"
|
||||
|
@ -178,8 +178,8 @@ asmlinkage void start_secondary(void)
|
||||
struct mm_struct *mm = &init_mm;
|
||||
|
||||
enable_mmu();
|
||||
atomic_inc(&mm->mm_count);
|
||||
atomic_inc(&mm->mm_users);
|
||||
mmgrab(mm);
|
||||
mmget(mm);
|
||||
current->active_mm = mm;
|
||||
#ifdef CONFIG_MMU
|
||||
enter_lazy_tlb(mm, current);
|
||||
|
@ -1,13 +1,17 @@
|
||||
#ifndef _SPARC64_KPROBES_H
|
||||
#define _SPARC64_KPROBES_H
|
||||
|
||||
#include <asm-generic/kprobes.h>
|
||||
|
||||
#define BREAKPOINT_INSTRUCTION 0x91d02070 /* ta 0x70 */
|
||||
#define BREAKPOINT_INSTRUCTION_2 0x91d02071 /* ta 0x71 */
|
||||
|
||||
#ifdef CONFIG_KPROBES
|
||||
#include <linux/types.h>
|
||||
#include <linux/percpu.h>
|
||||
|
||||
typedef u32 kprobe_opcode_t;
|
||||
|
||||
#define BREAKPOINT_INSTRUCTION 0x91d02070 /* ta 0x70 */
|
||||
#define BREAKPOINT_INSTRUCTION_2 0x91d02071 /* ta 0x71 */
|
||||
#define MAX_INSN_SIZE 2
|
||||
|
||||
#define kretprobe_blacklist_size 0
|
||||
@ -48,4 +52,6 @@ int kprobe_exceptions_notify(struct notifier_block *self,
|
||||
int kprobe_fault_handler(struct pt_regs *regs, int trapnr);
|
||||
asmlinkage void __kprobes kprobe_trap(unsigned long trap_level,
|
||||
struct pt_regs *regs);
|
||||
|
||||
#endif /* CONFIG_KPROBES */
|
||||
#endif /* _SPARC64_KPROBES_H */
|
||||
|
@ -9,7 +9,7 @@ extern struct thread_info *current_set[NR_CPUS];
|
||||
* Flush windows so that the VM switch which follows
|
||||
* would not pull the stack from under us.
|
||||
*
|
||||
* SWITCH_ENTER and SWITH_DO_LAZY_FPU do not work yet (e.g. SMP does not work)
|
||||
* SWITCH_ENTER and SWITCH_DO_LAZY_FPU do not work yet (e.g. SMP does not work)
|
||||
* XXX WTF is the above comment? Found in late teen 2.4.x.
|
||||
*/
|
||||
#ifdef CONFIG_SMP
|
||||
|
@ -93,7 +93,7 @@ void leon_cpu_pre_online(void *arg)
|
||||
: "memory" /* paranoid */);
|
||||
|
||||
/* Attach to the address space of init_task. */
|
||||
atomic_inc(&init_mm.mm_count);
|
||||
mmgrab(&init_mm);
|
||||
current->active_mm = &init_mm;
|
||||
|
||||
while (!cpumask_test_cpu(cpuid, &smp_commenced_mask))
|
||||
|
@ -122,7 +122,7 @@ void smp_callin(void)
|
||||
current_thread_info()->new_child = 0;
|
||||
|
||||
/* Attach to the address space of init_task. */
|
||||
atomic_inc(&init_mm.mm_count);
|
||||
mmgrab(&init_mm);
|
||||
current->active_mm = &init_mm;
|
||||
|
||||
/* inform the notifiers about the new cpu */
|
||||
|
@ -93,7 +93,7 @@ void sun4d_cpu_pre_online(void *arg)
|
||||
show_leds(cpuid);
|
||||
|
||||
/* Attach to the address space of init_task. */
|
||||
atomic_inc(&init_mm.mm_count);
|
||||
mmgrab(&init_mm);
|
||||
current->active_mm = &init_mm;
|
||||
|
||||
local_ops->cache_all();
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user