Register a domain and help support LQ
Go Back > Forums > Linux Forums > Linux - Software > Linux - Kernel
User Name
Linux - Kernel This forum is for all discussion relating to the Linux kernel.


  Search this Thread
Old 06-11-2012, 05:05 AM   #1
LQ Newbie
Registered: May 2012
Location: Bangalore India
Distribution: Ubuntu
Posts: 6

Rep: Reputation: Disabled


Can anybody tell me what is the use of linux/arch/arm/kernel/head.S file in linux kernel?
And please tell me where I will get whole description about head.S?
Old 06-11-2012, 08:40 AM   #2
Didier Spaier
LQ Addict
Registered: Nov 2008
Location: Paris, France
Distribution: Slackware{,64}-{14.1,current} on a Lenovo Thinkpad W520
Posts: 5,923

Rep: Reputation: 1688Reputation: 1688Reputation: 1688Reputation: 1688Reputation: 1688Reputation: 1688Reputation: 1688Reputation: 1688Reputation: 1688Reputation: 1688Reputation: 1688

just have a look into this file, it is well documented.

In short:
 *  Kernel startup code for all 32-bit CPUs
And in linux/arch/Doumentation/arm/README it is written:

Kernel entry (head.S)
  The initial entry into the kernel is via head.S, which uses machine
  independent code.  The machine is selected by the value of 'r1' on
  entry, which must be kept unique.

  Due to the large number of machines which the ARM port of Linux provides
  for, we have a method to manage this which ensures that we don't end up
  duplicating large amounts of code.

  We group machine (or platform) support code into machine classes.  A
  class typically based around one or more system on a chip devices, and
  acts as a natural container around the actual implementations.  These
  classes are given directories - arch/arm/mach-<class> and
  arch/arm/mach-<class> - which contain the source files to/include/mach
  support the machine class.  This directories also contain any machine
  specific supporting code.

  For example, the SA1100 class is based upon the SA1100 and SA1110 SoC
  devices, and contains the code to support the way the on-board and off-
  board devices are used, or the device is setup, and provides that
  machine specific "personality."

  This fine-grained machine specific selection is controlled by the machine
  type ID, which acts both as a run-time and a compile-time code selection

  You can register a new machine via the web site at:


Last edited by Didier Spaier; 06-11-2012 at 08:49 AM.


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
Require gdb compiler that supports arm arch utkarshrawat Programming 0 07-11-2011 03:44 AM
Kernel Panic in 64bit Arch Linux after Kernel Recompile: 2.6.35-rc3 jackerybakery Linux - General 3 06-16-2010 11:21 AM
Trying to install Arch with 2.6.30-ARCH kernel but uname -r keeps showing PaulFXH Arch 0 08-20-2009 08:58 AM
LXer: ARM now third most-popular Debian arch LXer Syndicated Linux News 2 11-29-2006 08:08 PM

All times are GMT -5. The time now is 10:35 PM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration