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

Commit 874ff01b authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (25 commits)
  Documentation/kernel-docs.txt update.
  arch/cris: typo in KERN_INFO
  Storage class should be before const qualifier
  kernel/printk.c: comment fix
  update I/O sched Kconfig help texts - CFQ is now default, not AS.
  Remove duplicate listing of Cris arch from README
  kbuild: more doc. cleanups
  doc: make doc. for maxcpus= more visible
  drivers/net/eexpress.c: remove duplicate comment
  add a help text for BLK_DEV_GENERIC
  correct a dead URL in the IP_MULTICAST help text
  fix the BAYCOM_SER_HDX help text
  fix SCSI_SCAN_ASYNC help text
  trivial documentation patch for platform.txt
  Fix typos concerning hierarchy
  Fix comment typo "spin_lock_irqrestore".
  Fix misspellings of "agressive".
  drivers/scsi/a100u2w.c: trivial typo patch
  Correct trivial typo in log2.h.
  Remove useless FIND_FIRST_BIT() macro from cardbus.c.
  ...
parents ebbe46f7 86aae08f
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -66,7 +66,7 @@ runtime memory footprint:

Device Enumeration
~~~~~~~~~~~~~~~~~~
As a rule, platform specific (and often board-specific) setup code wil
As a rule, platform specific (and often board-specific) setup code will
register platform devices:

	int platform_device_register(struct platform_device *pdev);
@@ -106,7 +106,7 @@ It's built from two components:
    * platform_device.id ... the device instance number, or else "-1"
      to indicate there's only one.

These are catenated, so name/id "serial"/0 indicates bus_id "serial.0", and
These are concatenated, so name/id "serial"/0 indicates bus_id "serial.0", and
"serial/3" indicates bus_id "serial.3"; both would use the platform_driver
named "serial".  While "my_rtc"/-1 would be bus_id "my_rtc" (no instance id)
and use the platform_driver called "my_rtc".
+1 −1
Original line number Diff line number Diff line
@@ -65,7 +65,7 @@ Accessing legacy resources through sysfs
----------------------------------------

Legacy I/O port and ISA memory resources are also provided in sysfs if the
underlying platform supports them.  They're located in the PCI class heirarchy,
underlying platform supports them.  They're located in the PCI class hierarchy,
e.g.

	/sys/class/pci_bus/0000:17/
+14 −14
Original line number Diff line number Diff line
@@ -34,7 +34,7 @@ This document describes the Linux kernel Makefiles.
	   --- 6.1 Set variables to tweak the build to the architecture
	   --- 6.2 Add prerequisites to archprepare:
	   --- 6.3 List directories to visit when descending
	   --- 6.4 Architecture specific boot images
	   --- 6.4 Architecture-specific boot images
	   --- 6.5 Building non-kbuild targets
	   --- 6.6 Commands useful for building a boot image
	   --- 6.7 Custom kbuild commands
@@ -124,7 +124,7 @@ more details, with real examples.
	Example:
		obj-y += foo.o

	This tell kbuild that there is one object in that directory, named
	This tells kbuild that there is one object in that directory, named
	foo.o. foo.o will be built from foo.c or foo.S.

	If foo.o shall be built as a module, the variable obj-m is used.
@@ -353,7 +353,7 @@ more details, with real examples.
	Special rules are used when the kbuild infrastructure does
	not provide the required support. A typical example is
	header files generated during the build process.
	Another example are the architecture specific Makefiles which
	Another example are the architecture-specific Makefiles which
	need special rules to prepare boot images etc.

	Special rules are written as normal Make rules.
@@ -416,7 +416,7 @@ more details, with real examples.
		#arch/i386/kernel/Makefile
		vsyscall-flags += $(call ld-option, -Wl$(comma)--hash-style=sysv)

	In the above example vsyscall-flags will be assigned the option
	In the above example, vsyscall-flags will be assigned the option
	-Wl$(comma)--hash-style=sysv if it is supported by $(CC).
	The second argument is optional, and if supplied will be used
	if first argument is not supported.
@@ -434,7 +434,7 @@ more details, with real examples.
		#arch/i386/Makefile
		cflags-y += $(call cc-option,-march=pentium-mmx,-march=i586)

	In the above example cflags-y will be assigned the option
	In the above example, cflags-y will be assigned the option
	-march=pentium-mmx if supported by $(CC), otherwise -march=i586.
	The second argument to cc-option is optional, and if omitted,
	cflags-y will be assigned no value if first option is not supported.
@@ -750,7 +750,7 @@ When kbuild executes, the following steps are followed (roughly):
   located at the root of the obj tree.
   The very first objects linked are listed in head-y, assigned by
   arch/$(ARCH)/Makefile.
7) Finally, the architecture specific part does any required post processing
7) Finally, the architecture-specific part does any required post processing
   and builds the final bootimage.
   - This includes building boot records
   - Preparing initrd images and the like
@@ -880,7 +880,7 @@ When kbuild executes, the following steps are followed (roughly):

	$(head-y) lists objects to be linked first in vmlinux.
	$(libs-y) lists directories where a lib.a archive can be located.
	The rest lists directories where a built-in.o object file can be
	The rest list directories where a built-in.o object file can be
	located.

	$(init-y) objects will be located after $(head-y).
@@ -888,7 +888,7 @@ When kbuild executes, the following steps are followed (roughly):
	$(core-y), $(libs-y), $(drivers-y) and $(net-y).

	The top level Makefile defines values for all generic directories,
	and arch/$(ARCH)/Makefile only adds architecture specific directories.
	and arch/$(ARCH)/Makefile only adds architecture-specific directories.

	Example:
		#arch/sparc64/Makefile
@@ -897,7 +897,7 @@ When kbuild executes, the following steps are followed (roughly):
		drivers-$(CONFIG_OPROFILE)  += arch/sparc64/oprofile/


--- 6.4 Architecture specific boot images
--- 6.4 Architecture-specific boot images

	An arch Makefile specifies goals that take the vmlinux file, compress
	it, wrap it in bootstrapping code, and copy the resulting files
@@ -924,7 +924,7 @@ When kbuild executes, the following steps are followed (roughly):
	"$(Q)$(MAKE) $(build)=<dir>" is the recommended way to invoke
	make in a subdirectory.

	There are no rules for naming architecture specific targets,
	There are no rules for naming architecture-specific targets,
	but executing "make help" will list all relevant targets.
	To support this, $(archhelp) must be defined.

@@ -982,7 +982,7 @@ When kbuild executes, the following steps are followed (roughly):
			$(call if_changed,ld/objcopy/gzip)

	When the rule is evaluated, it is checked to see if any files
	needs an update, or the command line has changed since the last
	need an update, or the command line has changed since the last
	invocation. The latter will force a rebuild if any options
	to the executable have changed.
	Any target that utilises if_changed must be listed in $(targets),
@@ -1089,7 +1089,7 @@ When kbuild executes, the following steps are followed (roughly):
	                  assignment.

	The kbuild infrastructure for *lds file are used in several
	architecture specific files.
	architecture-specific files.


=== 7 Kbuild Variables
@@ -1133,7 +1133,7 @@ The top Makefile exports the following variables:

	This variable defines a place for the arch Makefiles to install
	the resident kernel image and System.map file.
	Use this for architecture specific install targets.
	Use this for architecture-specific install targets.

    INSTALL_MOD_PATH, MODLIB

+121 −136
Original line number Diff line number Diff line
@@ -62,16 +62,16 @@
       Alpha AXP Processor, C.-Useful Web and FTP Sites, D.-The GNU
       General Public License, Glossary". In short: a must have.

     * Title: "The Linux Kernel Hackers' Guide"
       Author: Michael K.Johnson and others.
       URL: http://www.tldp.org/LDP/khg/HyperNews/get/khg.html
       Keywords: everything!
       Description: No more Postscript book-like version. Only HTML now.
       Many people have contributed. The interface is similar to web
       available mailing lists archives. You can find some articles and
       then some mails asking questions about them and/or complementing
       previous contributions. A little bit anarchic in this aspect, but
       with some valuable information in some cases.
     * Title: "Linux Device Drivers, 2nd Edition"
       Author: Alessandro Rubini and Jonathan Corbet.
       URL: http://www.xml.com/ldd/chapter/book/index.html
       Keywords: device drivers, modules, debugging, memory, hardware,
       interrupt handling, char drivers, block drivers, kmod, mmap, DMA,
       buses.
       Description: O'Reilly's popular book, now also on-line under the
       GNU Free Documentation License.
       Notes: You can also buy it in paper-form from O'Reilly. See below
       under BOOKS (Not on-line).

     * Title: "Conceptual Architecture of the Linux Kernel"
       Author: Ivan T. Bowman.
@@ -85,9 +85,9 @@
     * Title: "Concrete Architecture of the Linux Kernel"
       Author: Ivan T. Bowman, Saheem Siddiqi, and Meyer C. Tanuan.
       URL: http://plg.uwaterloo.ca/~itbowman/papers/CS746G-a2.html
       Keywords: concrete arquitecture, extracted design, reverse
       Keywords: concrete architecture, extracted design, reverse
       engineering, system structure, dependencies.
       Description: Concrete arquitecture of the Linux kernel,
       Description: Concrete architecture of the Linux kernel,
       automatically extracted from the source code. Very detailed. Good
       figures. Gives good overall kernel understanding. This papers
       focus on lower details than its predecessor (files, variables...).
@@ -114,7 +114,7 @@

     * Title: "The Linux RAID-1, 4, 5 Code"
       Author: Ingo Molnar, Gadi Oxman and Miguel de Icaza.
       URL: http://www2.linuxjournal.com/lj-issues/issue44/2391.html
       URL: http://www.linuxjournal.com/article.php?sid=2391
       Keywords: RAID, MD driver.
       Description: Linux Journal Kernel Korner article. Here is it's
       abstract: "A description of the implementation of the RAID-1,
@@ -124,7 +124,7 @@

     * Title: "Dynamic Kernels: Modularized Device Drivers"
       Author: Alessandro Rubini.
       URL: http://www2.linuxjournal.com/lj-issues/issue23/1219.html
       URL: http://www.linuxjournal.com/article.php?sid=1219
       Keywords: device driver, module, loading/unloading modules,
       allocating resources.
       Description: Linux Journal Kernel Korner article. Here is it's
@@ -137,7 +137,7 @@

     * Title: "Dynamic Kernels: Discovery"
       Author: Alessandro Rubini.
       URL: http://www2.linuxjournal.com/lj-issues/issue24/1220.html
       URL: http://www.linuxjournal.com/article.php?sid=1220
       Keywords: character driver, init_module, clean_up module,
       autodetection, mayor number, minor number, file operations,
       open(), close().
@@ -149,7 +149,7 @@

     * Title: "The Devil's in the Details"
       Author: Georg v. Zezschwitz and Alessandro Rubini.
       URL: http://www2.linuxjournal.com/lj-issues/issue25/1221.html
       URL: http://www.linuxjournal.com/article.php?sid=1221
       Keywords: read(), write(), select(), ioctl(), blocking/non
       blocking mode, interrupt handler.
       Description: Linux Journal Kernel Korner article. Here is it's
@@ -159,7 +159,7 @@

     * Title: "Dissecting Interrupts and Browsing DMA"
       Author: Alessandro Rubini and Georg v. Zezschwitz.
       URL: http://www2.linuxjournal.com/lj-issues/issue26/1222.html
       URL: http://www.linuxjournal.com/article.php?sid=1222
       Keywords: interrupts, irqs, DMA, bottom halves, task queues.
       Description: Linux Journal Kernel Korner article. Here is it's
       abstract: "This is the fourth in a series of articles about
@@ -173,7 +173,7 @@

     * Title: "Device Drivers Concluded"
       Author: Georg v. Zezschwitz.
       URL: http://www2.linuxjournal.com/lj-issues/issue28/1287.html
       URL: http://www.linuxjournal.com/article.php?sid=1287
       Keywords: address spaces, pages, pagination, page management,
       demand loading, swapping, memory protection, memory mapping, mmap,
       virtual memory areas (VMAs), vremap, PCI.
@@ -185,7 +185,7 @@

     * Title: "Network Buffers And Memory Management"
       Author: Alan Cox.
       URL: http://www2.linuxjournal.com/lj-issues/issue30/1312.html
       URL: http://www.linuxjournal.com/article.php?sid=1312
       Keywords: sk_buffs, network devices, protocol/link layer
       variables, network devices flags, transmit, receive,
       configuration, multicast.
@@ -218,8 +218,7 @@
     * Title: "Programming PCI-Devices under Linux"
       Author: Claus Schroeter.
       URL:
       ftp://ftp.llp.fu-berlin.de/pub/linux/LINUX-LAB/whitepapers/pcip.ps
       .gz
       ftp://ftp.llp.fu-berlin.de/pub/linux/LINUX-LAB/whitepapers/pcip.ps.gz
       Keywords: PCI, device, busmastering.
       Description: 6 pages tutorial on PCI programming under Linux.
       Gives the basic concepts on the architecture of the PCI subsystem,
@@ -229,8 +228,7 @@
     * Title: "Writing Character Device Driver for Linux"
       Author: R. Baruch and C. Schroeter.
       URL:
       ftp://ftp.llp.fu-berlin.de/pub/linux/LINUX-LAB/whitepapers/drivers
       .ps.gz
       ftp://ftp.llp.fu-berlin.de/pub/linux/LINUX-LAB/whitepapers/drivers.ps.gz
       Keywords: character device drivers, I/O, signals, DMA, accessing
       ports in user space, kernel environment.
       Description: 68 pages paper on writing character drivers. A little
@@ -252,7 +250,7 @@

     * Title: "Analysis of the Ext2fs structure"
       Author: Louis-Dominique Dubeau.
       URL: http://step.polymtl.ca/~ldd/ext2fs/ext2fs_toc.html
       URL: http://www.nondot.org/sabre/os/files/FileSystems/ext2fs/
       Keywords: ext2, filesystem, ext2fs.
       Description: Description of ext2's blocks, directories, inodes,
       bitmaps, invariants...
@@ -346,16 +344,6 @@
       published, printed or used in excerpts without explicit permission
       of the author". Fortunately, it may still be read...

     * Title: "Tour Of the Linux Kernel Source"
       Author: Vijo Cherian.
       URL: http://www.geocities.com/vijoc/tolks/tolks.html
       Keywords: .
       Description: A classic of this page! Was lost for a while and is
       back again. Thanks Vijo! TOLKS: the name says it all. A tour of
       the sources, describing directories, files, variables, data
       structures... It covers general stuff, device drivers,
       filesystems, IPC and Networking Code.
       
     * Title: "Linux Kernel Mailing List Glossary"
       Author: various
       URL: http://kernelnewbies.org/glossary/
@@ -378,6 +366,16 @@
       different". Freely redistributable under the conditions of the GNU
       General Public License.

     * Title: "Global spinlock list and usage"
       Author: Rick Lindsley.
       URL: http://lse.sourceforge.net/lockhier/global-spin-lock
       Keywords: spinlock.
       Description: This is an attempt to document both the existence and
       usage of the spinlocks in the Linux 2.4.5 kernel. Comprehensive
       list of spinlocks showing when they are used, which functions
       access them, how each lock is acquired, under what conditions it
       is held, whether interrupts can occur or not while it is held...

     * Title: "Porting Linux 2.0 Drivers To Linux 2.2: Changes and New
       Features "
       Author: Alan Cox.
@@ -460,9 +458,7 @@
     * Title: "Linux IP Networking. A Guide to the Implementation and
       Modification of the Linux Protocol Stack."
       Author: Glenn Herrin.
       URL:
       http://kernelnewbies.org/documents/ipnetworking/linuxipnetworking.
       html
       URL: http://www.cs.unh.edu/cnrg/gherrin
       Keywords: network, networking, protocol, IP, UDP, TCP, connection,
       socket, receiving, transmitting, forwarding, routing, packets,
       modules, /proc, sk_buff, FIB, tags.
@@ -592,21 +588,6 @@
       ISBN: 2-212-08932-5
       Notes: French.

     * Title: "The Linux Kernel Book"
       Author: Remy Card, Eric Dumas, Franck Mevel.
       Publisher: John Wiley & Sons.
       Date: 1998.
       ISBN: 0-471-98141-9
       Notes: English translation.
       
     * Title: "Linux 2.0"
       Author: Remy Card, Eric Dumas, Franck Mevel.
       Publisher: Gestión 2000.
       Date: 1997.
       Pages: 501.
       ISBN: 8-480-88208-5
       Notes: Spanish translation.
       
     * Title: "Unix internals -- the new frontiers"
       Author: Uresh Vahalia.
       Publisher: Prentice Hall.
@@ -614,23 +595,13 @@
       Pages: 600.
       ISBN: 0-13-101908-2

     * Title: "Linux Core Kernel Commentary. Guide to Insider's Knowledge
       on the Core Kernel of the Linux Code"
       Author: Scott Maxwell.
       Publisher: Coriolis.
       Date: 1999.
       Pages: 592.
       ISBN: 1-57610-469-9
       Notes: CD-ROM included. Line by line commentary of the kernel
       code.
       
     * Title: "Linux IP Stacks Commentary"
       Author: Stephen Satchell and HBJ Clifford.
       Publisher: Coriolis.
       Date: 2000.
       Pages: ???.
       ISBN: 1-57610-470-2
       Notes: Line by line source code commentary book.
     * Title:  "The  Design  and Implementation of the 4.4 BSD UNIX
       Operating System"
       Author: Marshall Kirk McKusick, Keith Bostic, Michael J. Karels,
       John S. Quarterman.
       Publisher: Addison-Wesley.
       Date: 1996.
       ISBN: 0-201-54979-4

     * Title: "Programming for the real world - POSIX.4"
       Author: Bill O. Gallmeister.
@@ -641,14 +612,28 @@
       Notes: Though not being directly about Linux, Linux aims to be
       POSIX. Good reference.

     * Title: "Understanding the Linux Kernel"
       Author: Daniel P. Bovet and Marco Cesati.
       Publisher: O'Reilly & Associates, Inc..
       Date: 2000.
       Pages: 702.
       ISBN: 0-596-00002-2
       Notes: Further information in
       http://www.oreilly.com/catalog/linuxkernel/
     * Title:  "UNIX  Systems  for  Modern Architectures: Symmetric
       Multiprocesssing and Caching for Kernel Programmers"
       Author: Curt Schimmel.
       Publisher: Addison Wesley.
       Date: June, 1994.
       Pages: 432.
       ISBN: 0-201-63338-8

     * Title:  "The  Design  and Implementation of the 4.3 BSD UNIX
       Operating System"
       Author: Samuel J. Leffler, Marshall Kirk McKusick, Michael J.
       Karels, John S. Quarterman.
       Publisher: Addison-Wesley.
       Date: 1989 (reprinted with corrections on October, 1990).
       ISBN: 0-201-06196-1

     * Title: "The Design of the UNIX Operating System"
       Author: Maurice J. Bach.
       Publisher: Prentice Hall.
       Date: 1986.
       Pages: 471.
       ISBN: 0-13-201757-1

     MISCELLANEOUS:

@@ -697,7 +682,7 @@
       produced during the week. Published every Thursday.

     * Name: "Kernel Traffic"
       URL: http://www.kerneltraffic.org/kernel-traffic/
       URL: http://kt.zork.net/kernel-traffic/
       Keywords: linux-kernel mailing list, weekly kernel news.
       Description: Weekly newsletter covering the most relevant
       discussions of the linux-kernel mailing list.
@@ -730,7 +715,7 @@

     * Name: "Gary's Encyclopedia - The Linux Kernel"
       Author: Gary (I suppose...).
       URL: http://members.aa.net/~swear/pedia/kernel.html
       URL: http://www.lisoleg.net/cgi-bin/lisoleg.pl?view=kernel.htm
       Keywords: links, not found here?.
       Description: Gary's Encyclopedia exists to allow the rapid finding
       of documentation and other information of interest to GNU/Linux
+8 −1
Original line number Diff line number Diff line
@@ -864,7 +864,14 @@ and is between 256 and 4096 characters. It is defined in the file
			Format: <1-256>

	maxcpus=	[SMP] Maximum number of processors that	an SMP kernel
			should make use of
			should make use of.
			Using "nosmp" or "maxcpus=0" will disable SMP
			entirely (the MPS table probe still happens, though).
			A command-line option of "maxcpus=<NUM>", where <NUM>
			is an integer greater than 0, limits the maximum number
			of CPUs activated in SMP mode to <NUM>.
			Using "maxcpus=1" on an SMP kernel is the trivial
			case of an SMP kernel with only one CPU.

	max_addr=[KMG]	[KNL,BOOT,ia64] All physical memory greater than or
			equal to this physical address is ignored.
Loading