Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fd8aa2c1 authored by NeilBrown's avatar NeilBrown
Browse files
parents 6e17b027 2144381d
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -32,8 +32,6 @@ DocBook/
	- directory with DocBook templates etc. for kernel documentation.
HOWTO
	- the process and procedures of how to do Linux kernel development.
IO-mapping.txt
	- how to access I/O mapped memory from within device drivers.
IPMI.txt
	- info on Linux Intelligent Platform Management Interface (IPMI) Driver.
IRQ-affinity.txt
@@ -84,6 +82,8 @@ blockdev/
	- info on block devices & drivers
btmrvl.txt
	- info on Marvell Bluetooth driver usage.
bus-virt-phys-mapping.txt
	- how to access I/O mapped memory from within device drivers.
cachetlb.txt
	- describes the cache/TLB flushing interfaces Linux uses.
cdrom/
@@ -168,6 +168,8 @@ initrd.txt
	- how to use the RAM disk as an initial/temporary root filesystem.
input/
	- info on Linux input device support.
io-mapping.txt
	- description of io_mapping functions in linux/io-mapping.h
io_ordering.txt
	- info on ordering I/O writes to memory-mapped addresses.
ioctl/
+20 −0
Original line number Diff line number Diff line
What:		/sys/kernel/debug/ec/*/{gpe,use_global_lock,io}
Date:		July 2010
Contact:	Thomas Renninger <trenn@suse.de>
Description:

General information like which GPE is assigned to the EC and whether
the global lock should get used.
Knowing the EC GPE one can watch the amount of HW events related to
the EC here (XY -> GPE number from /sys/kernel/debug/ec/*/gpe):
/sys/firmware/acpi/interrupts/gpeXY

The io file is binary and a userspace tool located here:
ftp://ftp.suse.com/pub/people/trenn/sources/ec/
should get used to read out the 256 Embedded Controller registers
or writing to them.

CAUTION: Do not write to the Embedded Controller if you don't know
what you are doing! Rebooting afterwards also is a good idea.
This can influence the way your machine is cooled and fans may
not get switched on again after you did a wrong write.
+0 −71
Original line number Diff line number Diff line
What:		/sys/kernel/debug/kmemtrace/
Date:		July 2008
Contact:	Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
Description:

In kmemtrace-enabled kernels, the following files are created:

/sys/kernel/debug/kmemtrace/
	cpu<n>		(0400)	Per-CPU tracing data, see below. (binary)
	total_overruns	(0400)	Total number of bytes which were dropped from
				cpu<n> files because of full buffer condition,
				non-binary. (text)
	abi_version	(0400)	Kernel's kmemtrace ABI version. (text)

Each per-CPU file should be read according to the relay interface. That is,
the reader should set affinity to that specific CPU and, as currently done by
the userspace application (though there are other methods), use poll() with
an infinite timeout before every read(). Otherwise, erroneous data may be
read. The binary data has the following _core_ format:

	Event ID	(1 byte)	Unsigned integer, one of:
		0 - represents an allocation (KMEMTRACE_EVENT_ALLOC)
		1 - represents a freeing of previously allocated memory
		    (KMEMTRACE_EVENT_FREE)
	Type ID		(1 byte)	Unsigned integer, one of:
		0 - this is a kmalloc() / kfree()
		1 - this is a kmem_cache_alloc() / kmem_cache_free()
		2 - this is a __get_free_pages() et al.
	Event size	(2 bytes)	Unsigned integer representing the
					size of this event. Used to extend
					kmemtrace. Discard the bytes you
					don't know about.
	Sequence number	(4 bytes)	Signed integer used to reorder data
					logged on SMP machines. Wraparound
					must be taken into account, although
					it is unlikely.
	Caller address	(8 bytes)	Return address to the caller.
	Pointer to mem	(8 bytes)	Pointer to target memory area. Can be
					NULL, but not all such calls might be
					recorded.

In case of KMEMTRACE_EVENT_ALLOC events, the next fields follow:

	Requested bytes	(8 bytes)	Total number of requested bytes,
					unsigned, must not be zero.
	Allocated bytes (8 bytes)	Total number of actually allocated
					bytes, unsigned, must not be lower
					than requested bytes.
	Requested flags	(4 bytes)	GFP flags supplied by the caller.
	Target CPU	(4 bytes)	Signed integer, valid for event id 1.
					If equal to -1, target CPU is the same
					as origin CPU, but the reverse might
					not be true.

The data is made available in the same endianness the machine has.

Other event ids and type ids may be defined and added. Other fields may be
added by increasing event size, but see below for details.
Every modification to the ABI, including new id definitions, are followed
by bumping the ABI version by one.

Adding new data to the packet (features) is done at the end of the mandatory
data:
	Feature size	(2 byte)
	Feature ID	(1 byte)
	Feature data	(Feature size - 3 bytes)


Users:
	kmemtrace-user - git://repo.or.cz/kmemtrace-user.git
+27 −0
Original line number Diff line number Diff line
@@ -139,3 +139,30 @@ Contact: linux-pci@vger.kernel.org
Description:
		This symbolic link points to the PCI hotplug controller driver
		module that manages the hotplug slot.

What:		/sys/bus/pci/devices/.../label
Date:		July 2010
Contact:	Narendra K <narendra_k@dell.com>, linux-bugs@dell.com
Description:
		Reading this attribute will provide the firmware
		given name(SMBIOS type 41 string) of the PCI device.
		The attribute will be created only if the firmware
		has given a name to the PCI device.
Users:
		Userspace applications interested in knowing the
		firmware assigned name of the PCI device.

What:		/sys/bus/pci/devices/.../index
Date:		July 2010
Contact:	Narendra K <narendra_k@dell.com>, linux-bugs@dell.com
Description:
		Reading this attribute will provide the firmware
		given instance(SMBIOS type 41 device type instance)
		of the PCI device. The attribute will be created
		only if the firmware has given a device type instance
		to the PCI device.
Users:
		Userspace applications interested in knowing the
		firmware assigned device type instance of the PCI
		device that can help in understanding the firmware
		intended order of the PCI device.
+3 −3
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@ Description:
		added or removed dynamically to represent hot-add/remove
		operations.
Users:		hotplug memory add/remove tools
		https://w3.opensource.ibm.com/projects/powerpc-utils/
		http://www.ibm.com/developerworks/wikis/display/LinuxP/powerpc-utils

What:		/sys/devices/system/memory/memoryX/removable
Date:		June 2008
@@ -19,7 +19,7 @@ Description:
		identify removable sections of the memory before attempting
		potentially expensive hot-remove memory operation
Users:		hotplug memory remove tools
		https://w3.opensource.ibm.com/projects/powerpc-utils/
		http://www.ibm.com/developerworks/wikis/display/LinuxP/powerpc-utils	

What:		/sys/devices/system/memory/memoryX/phys_device
Date:		September 2008
@@ -58,7 +58,7 @@ Description:
		by root to offline that section.
		# echo offline > /sys/devices/system/memory/memory22/state
Users:		hotplug memory remove tools
		https://w3.opensource.ibm.com/projects/powerpc-utils/
		http://www.ibm.com/developerworks/wikis/display/LinuxP/powerpc-utils


What:		/sys/devices/system/memoryX/nodeY
Loading