Differences between revisions 23 and 24
Revision 23 as of 2008-07-18 12:04:49
Size: 54444
Editor: BastianBlank
Comment:
Revision 24 as of 2009-03-16 03:29:54
Size: 54444
Editor: anonymous
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
[[TableOfContents]] <<TableOfContents>>

This page annotates the changes in linux-libc-2.6 2.6.26.

Contents

  1. asm-alpha
    1. asm-alpha/byteorder.h
    2. asm-alpha/param.h
    3. asm-alpha/types.h
  2. asm-arm
    1. asm-arm/hwcap.h
    2. asm-arm/types.h
    3. asm-arm/unistd.h
  3. asm-generic
    1. asm-generic/int-l64.h
    2. asm-generic/int-ll64.h
  4. asm-ia64
    1. asm-ia64/gcc_intrin.h
    2. asm-ia64/kvm.h
    3. asm-ia64/types.h
  5. asm-mips
    1. asm-mips/types.h
  6. asm-parisc
    1. asm-parisc/ioctl.h
    2. asm-parisc/ioctls.h
    3. asm-parisc/termbits.h
    4. asm-parisc/types.h
  7. asm-powerpc
    1. asm-powerpc/kvm.h
  8. asm-s390
    1. asm-s390/kvm.h
    2. asm-s390/types.h
  9. asm-sparc
    1. asm-sparc/a.out.h
    2. asm-sparc/ioctls.h, asm-sparc/mman.h, asm-sparc/pconf.h, asm-sparc/socket.h, asm-sparc/termios.h
    3. asm-sparc/types.h
  10. asm-sparc64
    1. asm-sparc64/a.out.h
    2. asm-sparc64/ioctls.h, asm-sparc64/mman.h, asm-sparc64/pconf.h
    3. asm-sparc64/ptrace.h
    4. asm-sparc64/socket.h, asm-sparc64/termios.h
    5. asm-sparc64/types.h
  11. asm-x86
    1. asm-x86/boot.h, asm-x86/bootparam.h
    2. asm-x86/byteorder.h
    3. asm-x86/kvm.h
    4. asm-x86/msr-index.h
    5. asm-x86/processor-flags.h
    6. asm-x86/setup.h
    7. asm-x86/types.h
    8. asm-x86/vm86.h
  12. linux
    1. linux/a.out.h
    2. linux/atm.h, linux/atm_tcp.h
    3. linux/audit.h
    4. linux/byteorder/generic.h
    5. linux/dlmconstants.h
    6. linux/dlm_device.h
    7. linux/dlm.h
    8. linux/dlm_plock.h
    9. linux/dvb/dmx.h
    10. linux/elf.h
    11. linux/filter.h
    12. linux/fs.h
    13. linux/fuse.h
    14. linux/hdsmart.h
    15. linux/hid.h, linux/hidraw.h
    16. linux/if_bridge.h
    17. linux/if_tunnel.h
    18. linux/if_wanpipe.h
    19. linux/in6.h
    20. linux/input.h
    21. linux/ipv6.h
    22. linux/isdn.h
    23. linux/keyctl.h
    24. linux/kvm.h
    25. linux/lock_dlm_plock.h
    26. linux/mempolicy.h
    27. linux/meye.h
    28. linux/mroute6.h
    29. linux/msdos_fs.h
    30. linux/msg.h
    31. linux/mtio.h
    32. linux/nbd.h
    33. linux/netdevice.h
    34. linux/netfilter/nfnetlink_conntrack.h
    35. linux/netfilter/xt_sctp.h
    36. linux/netfilter_arp/arp_tables.h
    37. linux/netfilter_ipv4.h
    38. linux/net.h
    39. linux/nfs3.h
    40. linux/nl80211.h
    41. linux/pci_regs.h
    42. linux/phantom.h
    43. linux/pim.h
    44. linux/prctl.h
    45. linux/resource.h
    46. linux/rtnetlink.h
    47. linux/serial_core.h
    48. linux/serio.h
    49. linux/synclink.h
    50. linux/timex.h
    51. linux/usb/cdc.h
    52. linux/usb/ch9.h
    53. linux/usbdevice_fs.h
    54. linux/videodev2.h
    55. linux/virtio_9p.h, linux/virtio_balloon.h
    56. linux/virtio_blk.h, linux/virtio_config.h
    57. linux/virtio_console.h
    58. linux/virtio_net.h
    59. linux/virtio_pci.h, linux/virtio_ring.h
    60. linux/wireless.h
    61. linux/xfrm.h
  13. mtd
    1. mtd/ubi-header.h

asm-alpha

asm-alpha/byteorder.h

Use correct keyword.

asm-alpha/param.h

HZ change already in 2.6.25.

asm-alpha/types.h

Parts moved to asm-generic/int-l64.h.

asm-arm

asm-arm/hwcap.h

New definition HWCAP_THUMBEE

asm-arm/types.h

Parts moved to asm-generic/int-ll64.h.

asm-arm/unistd.h

diff -U 1 -Nwr 2.6.25/asm-arm/unistd.h 2.6.26/asm-arm/unistd.h
--- 2.6.25/asm-arm/unistd.h     2008-07-11 12:23:48.000000000 +0200
+++ 2.6.26/asm-arm/unistd.h     2008-07-11 12:22:33.000000000 +0200
@@ -378,5 +378,7 @@
 #define __NR_signalfd                  (__NR_SYSCALL_BASE+349)
-#define __NR_timerfd                   (__NR_SYSCALL_BASE+350)
+#define __NR_timerfd_create            (__NR_SYSCALL_BASE+350)
 #define __NR_eventfd                   (__NR_SYSCALL_BASE+351)
 #define __NR_fallocate                 (__NR_SYSCALL_BASE+352)
+#define __NR_timerfd_settime           (__NR_SYSCALL_BASE+353)
+#define __NR_timerfd_gettime           (__NR_SYSCALL_BASE+354)

asm-generic

asm-generic/int-l64.h

New file.

asm-generic/int-ll64.h

New file.

asm-ia64

asm-ia64/gcc_intrin.h

New definitions ia64_*

asm-ia64/kvm.h

Support added.

asm-ia64/types.h

Parts moved to asm-generic/int-l64.h and asm-generic/int-ll64.h.

asm-mips

asm-mips/types.h

Parts moved to asm-generic/int-l64.h and asm-generic/int-ll64.h.

asm-parisc

asm-parisc/ioctl.h

Parts moved to asm-generic/ioctl.h

asm-parisc/ioctls.h

New definitions TCGET*, TCSET*.

asm-parisc/termbits.h

New definition BOTHER, IBSHIFT

asm-parisc/types.h

Parts moved to asm-generic/int-ll64.h.

asm-powerpc

asm-powerpc/kvm.h

Support added.

asm-s390

asm-s390/kvm.h

Support added.

asm-s390/types.h

Parts moved to asm-generic/int-l64.h and asm-generic/int-ll64.h.

asm-sparc

asm-sparc/a.out.h

Removed. Part of SunOS support, Linux/Sparc never supported a.out binaries. Ignored.

diff -U 1 -Nwr 2.6.25/asm-sparc/a.out.h 2.6.26/asm-sparc/a.out.h
--- 2.6.25/asm-sparc/a.out.h    2008-07-11 12:23:56.000000000 +0200
+++ 2.6.26/asm-sparc/a.out.h    1970-01-01 01:00:00.000000000 +0100
@@ -1,97 +0,0 @@
-#ifndef __SPARC_A_OUT_H__
-#define __SPARC_A_OUT_H__
-
-#define SPARC_PGSIZE    0x2000        /* Thanks to the sun4 architecture... */
-#define SEGMENT_SIZE    SPARC_PGSIZE  /* whee... */
-
-#ifndef __ASSEMBLY__
-
-struct exec {
-       unsigned char a_dynamic:1;      /* A __DYNAMIC is in this image */
-       unsigned char a_toolversion:7;
-       unsigned char a_machtype;
-       unsigned short a_info;
-       unsigned int a_text;            /* length of text, in bytes */
-       unsigned int a_data;            /* length of data, in bytes */
-       unsigned int a_bss;             /* length of bss, in bytes */
-       unsigned int a_syms;            /* length of symbol table, in bytes */
-       unsigned int a_entry;           /* where program begins */
-       unsigned int a_trsize;
-       unsigned int a_drsize;
-};
-
-#endif /* !__ASSEMBLY__ */
-
-/* Where in the file does the text information begin? */
-#define N_TXTOFF(x)     (N_MAGIC(x) == ZMAGIC ? 0 : sizeof (struct exec))
-
-/* Where do the Symbols start? */
-#define N_SYMOFF(x)     (N_TXTOFF(x) + (x).a_text +   \
-                         (x).a_data + (x).a_trsize +  \
-                         (x).a_drsize)
-
-/* Where does text segment go in memory after being loaded? */
-#define N_TXTADDR(x)    (unsigned long)(((N_MAGIC(x) == ZMAGIC) && \
-                        ((x).a_entry < SPARC_PGSIZE)) ?   \
-                          0 : SPARC_PGSIZE)
-
-/* And same for the data segment.. */
-#define N_DATADDR(x) (N_MAGIC(x)==OMAGIC ?         \
-                      (N_TXTADDR(x) + (x).a_text)  \
-                      : (unsigned long) (_N_SEGMENT_ROUND (_N_TXTENDADDR(x))))
-
-#define N_TRSIZE(a)    ((a).a_trsize)
-#define N_DRSIZE(a)    ((a).a_drsize)
-#define N_SYMSIZE(a)   ((a).a_syms)
-
-#ifndef __ASSEMBLY__
-
-/*
- * Sparc relocation types
- */
-enum reloc_type
-{
-       RELOC_8,
-       RELOC_16,
-       RELOC_32,       /* simplest relocs */
-       RELOC_DISP8,
-       RELOC_DISP16,
-       RELOC_DISP32,   /* Disp's (pc-rel) */
-       RELOC_WDISP30,
-       RELOC_WDISP22,  /* SR word disp's */
-       RELOC_HI22,
-       RELOC_22,       /* SR 22-bit relocs */
-       RELOC_13,
-       RELOC_LO10,     /* SR 13&10-bit relocs */
-       RELOC_SFA_BASE,
-       RELOC_SFA_OFF13, /* SR S.F.A. relocs */
-       RELOC_BASE10,
-       RELOC_BASE13,
-       RELOC_BASE22,   /* base_relative pic */
-       RELOC_PC10,
-       RELOC_PC22,     /* special pc-rel pic */
-       RELOC_JMP_TBL,  /* jmp_tbl_rel in pic */
-       RELOC_SEGOFF16, /* ShLib offset-in-seg */
-       RELOC_GLOB_DAT,
-       RELOC_JMP_SLOT,
-       RELOC_RELATIVE  /* rtld relocs */
-};
-
-/*
- * Format of a relocation datum.
- */
-struct relocation_info /* used when header.a_machtype == M_SPARC */
-{
-        unsigned int    r_address;  /* relocation addr */
-        unsigned int    r_index:24; /* segment index or symbol index */
-        unsigned int    r_extern:1; /* if F, r_index==SEG#; if T, SYM idx */
-        unsigned int    r_pad:2;    /* <unused> */
-        enum reloc_type r_type:5;   /* type of relocation to perform */
-        int             r_addend;   /* addend for relocation value */
-};
-
-#define N_RELOCATION_INFO_DECLARED 1
-
-#endif /* !(__ASSEMBLY__) */
-
-#endif /* __SPARC_A_OUT_H__ */

asm-sparc/ioctls.h, asm-sparc/mman.h, asm-sparc/pconf.h, asm-sparc/socket.h, asm-sparc/termios.h

Removed SunOS specific definitions. Ignored.

diff -U 1 -Nwr 2.6.25/asm-sparc/ioctls.h 2.6.26/asm-sparc/ioctls.h
--- 2.6.25/asm-sparc/ioctls.h   2008-07-11 12:23:56.000000000 +0200
+++ 2.6.26/asm-sparc/ioctls.h   2008-07-11 12:22:41.000000000 +0200
@@ -45,4 +45,2 @@
 #define TIOCCONS       _IO('t', 36)
-#define __TIOCSSIZE     _IOW('t', 37, struct sunos_ttysize) /* SunOS Specific */
-#define __TIOCGSIZE     _IOR('t', 38, struct sunos_ttysize) /* SunOS Specific */
 #define TIOCGSOFTCAR   _IOR('t', 100, int)
diff -U 1 -Nwr 2.6.25/asm-sparc/mman.h 2.6.26/asm-sparc/mman.h
--- 2.6.25/asm-sparc/mman.h     2008-07-11 12:23:56.000000000 +0200
+++ 2.6.26/asm-sparc/mman.h     2008-07-11 12:22:41.000000000 +0200
@@ -24,15 +23,2 @@
 
-/* XXX Need to add flags to SunOS's mctl, mlockall, and madvise system
- * XXX calls.
- */
-
-/* SunOS sys_mctl() stuff... */
-#define MC_SYNC         1  /* Sync pages in memory with storage (usu. a file) */
-#define MC_LOCK         2  /* Lock pages into core ram, do not allow swapping of them */
-#define MC_UNLOCK       3  /* Unlock pages locked via previous mctl() with MC_LOCK arg */
-#define MC_LOCKAS       5  /* Lock an entire address space of the calling process */
-#define MC_UNLOCKAS     6  /* Unlock entire address space of calling process */
-
-#define MADV_FREE      0x5             /* (Solaris) contents can be freed */
-
 
diff -U 1 -Nwr 2.6.25/asm-sparc/pconf.h 2.6.26/asm-sparc/pconf.h
--- 2.6.25/asm-sparc/pconf.h    2008-07-11 12:23:55.000000000 +0200
+++ 2.6.26/asm-sparc/pconf.h    1970-01-01 01:00:00.000000000 +0100
@@ -1,25 +0,0 @@
-/* $Id: pconf.h,v 1.3 1996/04/25 06:13:25 davem Exp $
- * pconf.h: pathconf() and fpathconf() defines for SunOS
- *          system call compatibility.
- *
- * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
- */
-
-#ifndef _SPARC_PCONF_H
-#define _SPARC_PCONF_H
-
-#include <linux/fs.h>
-#include <linux/limits.h>
-
-#define _PCONF_LINK       1 /* Max number of links to an object        */
-#define _PCONF_CANON      2 /* TTY input buffer line size              */
-#define _PCONF_INPUT      3 /* Biggest packet a tty can imbibe at once */
-#define _PCONF_NAME       4 /* Filename length max                     */
-#define _PCONF_PATH       5 /* Max size of a pathname                  */
-#define _PCONF_PIPE       6 /* Buffer size for a pipe                  */
-#define _PCONF_CHRESTRICT 7 /* Can only root chown files?              */
-#define _PCONF_NOTRUNC    8 /* Are pathnames truncated if too big?     */
-#define _PCONF_VDISABLE   9 /* Magic char to disable special tty chars */
-#define _PCONF_MAXPCONF   9
-
-#endif /* !(_SPARC_PCONF_H) */
diff -U 1 -Nwr 2.6.25/asm-sparc/socket.h 2.6.26/asm-sparc/socket.h
--- 2.6.25/asm-sparc/socket.h   2008-07-11 12:23:56.000000000 +0200
+++ 2.6.26/asm-sparc/socket.h   2008-07-11 12:22:41.000000000 +0200
@@ -26,5 +25,2 @@
 
-/* wha!??? */
-#define SO_DONTLINGER   (~SO_LINGER)  /* Older SunOS compat. hack */
-
 #define SO_SNDBUF      0x1001
diff -U 1 -Nwr 2.6.25/asm-sparc/termios.h 2.6.26/asm-sparc/termios.h
--- 2.6.25/asm-sparc/termios.h  2008-07-11 12:23:56.000000000 +0200
+++ 2.6.26/asm-sparc/termios.h  2008-07-11 12:22:41.000000000 +0200
@@ -35,7 +34,2 @@
 
-struct sunos_ttysize {
-       int st_lines;   /* Lines on the terminal */
-       int st_columns; /* Columns on the terminal */
-};
-
 struct winsize {

asm-sparc/types.h

Parts moved to asm-generic/int-ll64.h.

asm-sparc64

asm-sparc64/a.out.h

Removed. Part of SunOS support, Linux/Sparc never supported a.out binaries. Ignored.

diff -U 1 -Nwr 2.6.25/asm-sparc64/a.out.h 2.6.26/asm-sparc64/a.out.h
--- 2.6.25/asm-sparc64/a.out.h  2008-07-11 12:23:55.000000000 +0200
+++ 2.6.26/asm-sparc64/a.out.h  1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-#include <asm-sparc/a.out.h>

asm-sparc64/ioctls.h, asm-sparc64/mman.h, asm-sparc64/pconf.h

Removed SunOS specific definitions. Ignored.

diff -U 1 -Nwr 2.6.25/asm-sparc64/ioctls.h 2.6.26/asm-sparc64/ioctls.h
--- 2.6.25/asm-sparc64/ioctls.h 2008-07-11 12:23:55.000000000 +0200
+++ 2.6.26/asm-sparc64/ioctls.h 2008-07-11 12:22:41.000000000 +0200
@@ -46,4 +45,2 @@
 #define TIOCCONS       _IO('t', 36)
-#define __TIOCSSIZE     _IOW('t', 37, struct sunos_ttysize) /* SunOS Specific */
-#define __TIOCGSIZE     _IOR('t', 38, struct sunos_ttysize) /* SunOS Specific */
 #define TIOCGSOFTCAR   _IOR('t', 100, int)
diff -U 1 -Nwr 2.6.25/asm-sparc64/mman.h 2.6.26/asm-sparc64/mman.h
--- 2.6.25/asm-sparc64/mman.h   2008-07-11 12:23:55.000000000 +0200
+++ 2.6.26/asm-sparc64/mman.h   2008-07-11 12:22:41.000000000 +0200
@@ -24,15 +23,2 @@
 
-/* XXX Need to add flags to SunOS's mctl, mlockall, and madvise system
- * XXX calls.
- */
-
-/* SunOS sys_mctl() stuff... */
-#define MC_SYNC         1  /* Sync pages in memory with storage (usu. a file) */
-#define MC_LOCK         2  /* Lock pages into core ram, do not allow swapping of them */
-#define MC_UNLOCK       3  /* Unlock pages locked via previous mctl() with MC_LOCK arg */
-#define MC_LOCKAS       5  /* Lock an entire address space of the calling process */
-#define MC_UNLOCKAS     6  /* Unlock entire address space of calling process */
-
-#define MADV_FREE      0x5             /* (Solaris) contents can be freed */
-

diff -U 1 -Nwr 2.6.25/asm-sparc64/pconf.h 2.6.26/asm-sparc64/pconf.h
--- 2.6.25/asm-sparc64/pconf.h  2008-07-11 12:23:55.000000000 +0200
+++ 2.6.26/asm-sparc64/pconf.h  1970-01-01 01:00:00.000000000 +0100
@@ -1,25 +0,0 @@
-/* $Id: pconf.h,v 1.1 1996/12/02 00:09:10 davem Exp $
- * pconf.h: pathconf() and fpathconf() defines for SunOS
- *          system call compatibility.
- *
- * Copyright (C) 1995, 1996 David S. Miller (davem@caip.rutgers.edu)
- */
-
-#ifndef _SPARC64_PCONF_H
-#define _SPARC64_PCONF_H
-
-#include <linux/fs.h>
-#include <linux/limits.h>
-
-#define _PCONF_LINK       1 /* Max number of links to an object        */
-#define _PCONF_CANON      2 /* TTY input buffer line size              */
-#define _PCONF_INPUT      3 /* Biggest packet a tty can imbibe at once */
-#define _PCONF_NAME       4 /* Filename length max                     */
-#define _PCONF_PATH       5 /* Max size of a pathname                  */
-#define _PCONF_PIPE       6 /* Buffer size for a pipe                  */
-#define _PCONF_CHRESTRICT 7 /* Can only root chown files?              */
-#define _PCONF_NOTRUNC    8 /* Are pathnames truncated if too big?     */
-#define _PCONF_VDISABLE   9 /* Magic char to disable special tty chars */
-#define _PCONF_MAXPCONF   9
-
-#endif /* !(_SPARC64_PCONF_H) */

asm-sparc64/ptrace.h

Replaced fprs by magic. Is not used at all by strace and gdb. Ignored.

diff -U 1 -Nwr 2.6.25/asm-sparc64/ptrace.h 2.6.26/asm-sparc64/ptrace.h
--- 2.6.25/asm-sparc64/ptrace.h 2008-07-11 12:23:55.000000000 +0200
+++ 2.6.26/asm-sparc64/ptrace.h 2008-07-11 12:22:41.000000000 +0200
@@ -10,2 +9,7 @@
 
+/* This magic value must have the low 9 bits clear,
+ * as that is where we encode the %tt value, see below.
+ */
+#define PT_REGS_MAGIC 0x57ac6c00
+
 #ifndef __ASSEMBLY__
@@ -20,13 +24,22 @@
        unsigned int y;
-       unsigned int fprs;
-};
 
-struct pt_regs32 {
-       unsigned int psr;
-       unsigned int pc;
-       unsigned int npc;
-       unsigned int y;
-       unsigned int u_regs[16]; /* globals and ins */
+       /* We encode a magic number, PT_REGS_MAGIC, along
+        * with the %tt (trap type) register value at trap
+        * entry time.  The magic number allows us to identify
+        * accurately a trap stack frame in the stack
+        * unwinder, and the %tt value allows us to test
+        * things like "in a system call" etc. for an arbitray
+        * process.
+        *
+        * The PT_REGS_MAGIC is choosen such that it can be
+        * loaded completely using just a sethi instruction.
+        */
+       unsigned int magic;
 };
 
+static __inline__ int pt_regs_trap_type(struct pt_regs *regs)
+{
+       return regs->magic & 0x1ff;
+}
+
 static __inline__ bool pt_regs_is_syscall(struct pt_regs *regs)
@@ -41,2 +54,10 @@
 
+struct pt_regs32 {
+       unsigned int psr;
+       unsigned int pc;
+       unsigned int npc;
+       unsigned int y;
+       unsigned int u_regs[16]; /* globals and ins */
+};
+
 #define UREG_G0        0
@@ -140,3 +161,3 @@
 #define PT_V9_Y      0x98
-#define PT_V9_FPRS   0x9c
+#define PT_V9_MAGIC  0x9c
 #define PT_TSTATE      PT_V9_TSTATE

asm-sparc64/socket.h, asm-sparc64/termios.h

Removed SunOS specific definitions. Ignored.

diff -U 1 -Nwr 2.6.25/asm-sparc64/socket.h 2.6.26/asm-sparc64/socket.h
--- 2.6.25/asm-sparc64/socket.h 2008-07-11 12:23:55.000000000 +0200
+++ 2.6.26/asm-sparc64/socket.h 2008-07-11 12:22:41.000000000 +0200
@@ -26,5 +25,2 @@
 
-/* wha!??? */
-#define SO_DONTLINGER   (~SO_LINGER)  /* Older SunOS compat. hack */
-
 #define SO_SNDBUF      0x1001
diff -U 1 -Nwr 2.6.25/asm-sparc64/termios.h 2.6.26/asm-sparc64/termios.h
--- 2.6.25/asm-sparc64/termios.h        2008-07-11 12:23:55.000000000 +0200
+++ 2.6.26/asm-sparc64/termios.h        2008-07-11 12:22:41.000000000 +0200
@@ -35,7 +34,2 @@
 
-struct sunos_ttysize {
-       int st_lines;   /* Lines on the terminal */
-       int st_columns; /* Columns on the terminal */
-};
-
 struct winsize {

asm-sparc64/types.h

Parts moved to asm-generic/int-l64.h.

asm-x86

asm-x86/boot.h, asm-x86/bootparam.h

Updates boot protocol. New definitions BOOT_*, SETUP_NONE, setup_data

asm-x86/byteorder.h

Keyword update.

asm-x86/kvm.h

New definitions. kvm_*, KVM_*

asm-x86/msr-index.h

New definitions MSR_*

asm-x86/processor-flags.h

New file.

asm-x86/setup.h

New definition vsmp_init.

asm-x86/types.h

Parts moved to asm-generic/int-ll64.h.

asm-x86/vm86.h

Fixed.

diff -U 1 -Nwr 2.6.25/asm-x86/vm86.h 2.6.26/asm-x86/vm86.h
--- 2.6.25/asm-x86/vm86.h       2008-07-11 12:23:57.000000000 +0200
+++ 2.6.26/asm-x86/vm86.h       2008-07-11 12:22:43.000000000 +0200
@@ -14,15 +14,9 @@
 
-#define TF_MASK                0x00000100
-#define IF_MASK                0x00000200
-#define IOPL_MASK      0x00003000
-#define NT_MASK                0x00004000
+#include <asm/processor-flags.h>
+
 #ifdef CONFIG_VM86
-#define VM_MASK                0x00020000
+#define X86_VM_MASK    X86_EFLAGS_VM
 #else
-#define VM_MASK                0 /* ignored */
+#define X86_VM_MASK    0 /* No VM86 support */
 #endif
-#define AC_MASK                0x00040000
-#define VIF_MASK       0x00080000      /* virtual interrupt flag */
-#define VIP_MASK       0x00100000      /* virtual interrupt pending */
-#define ID_MASK                0x00200000

linux

linux/a.out.h

New file.

linux/atm.h, linux/atm_tcp.h

Use kernel types

linux/audit.h

Update definition AUDIT_MAX_KEY_LEN, new definition AUDIT_FILETYPE.

diff -U 1 -Nwr 2.6.25/linux/audit.h 2.6.26/linux/audit.h
--- 2.6.25/linux/audit.h        2008-07-11 12:23:43.000000000 +0200
+++ 2.6.26/linux/audit.h        2008-07-11 12:22:27.000000000 +0200
@@ -148,3 +148,3 @@
 #define AUDIT_MAX_FIELDS   64
-#define AUDIT_MAX_KEY_LEN  32
+#define AUDIT_MAX_KEY_LEN  256
 #define AUDIT_BITMASK_SIZE 64
@@ -211,2 +211,3 @@
 #define AUDIT_DIR      107
+#define AUDIT_FILETYPE 108

linux/byteorder/generic.h

/!\ Remove comment only file.

linux/dlmconstants.h

New definitions DLM_*

linux/dlm_device.h

Removed definition MAX_LS_NAME_LEN. Not used by only possible user redhat-cluster.

linux/dlm.h

Definition moved to linux/dlmconstants.h, already included. Types update.

linux/dlm_plock.h

New file.

linux/dvb/dmx.h

New definition DMX_OUT_TSDEMUX_TAP

linux/elf.h

Don't use magic constant.

linux/filter.h

New definition: SKF_AD_*.

linux/fs.h

New definition SWRITE_SYNC.

linux/fuse.h

New definition FUSE_BIG_WRITES.

linux/hdsmart.h

Removed file. Defines hardware interface. Fixed.

diff -U 1 -Nwr 2.6.25/linux/hdsmart.h 2.6.26/linux/hdsmart.h
--- 2.6.25/linux/hdsmart.h      2008-07-11 12:23:44.000000000 +0200
+++ 2.6.26/linux/hdsmart.h      1970-01-01 01:00:00.000000000 +0100
@@ -1,124 +0,0 @@
-/*
- * linux/include/linux/hdsmart.h
- *
- * Copyright (C) 1999-2000     Michael Cornwell <cornwell@acm.org>
- * Copyright (C) 2000          Andre Hedrick <andre@linux-ide.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * You should have received a copy of the GNU General Public License
- * (for example /usr/src/linux/COPYING); if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#ifndef _LINUX_HDSMART_H
-#define _LINUX_HDSMART_H
-
-#define OFFLINE_FULL_SCAN              0
-#define SHORT_SELF_TEST                        1
-#define EXTEND_SELF_TEST               2
-#define SHORT_CAPTIVE_SELF_TEST                129
-#define EXTEND_CAPTIVE_SELF_TEST       130
-
-/* smart_attribute is the vendor specific in SFF-8035 spec */
-typedef struct ata_smart_attribute_s {
-       unsigned char                   id;
-       unsigned short                  status_flag;
-       unsigned char                   normalized;
-       unsigned char                   worse_normal;
-       unsigned char                   raw[6];
-       unsigned char                   reserv;
-} __attribute__ ((packed)) ata_smart_attribute_t;
-
-/* smart_values is format of the read drive Atrribute command */
-typedef struct ata_smart_values_s {
-       unsigned short                  revnumber;
-       ata_smart_attribute_t           vendor_attributes [30];
-        unsigned char                  offline_data_collection_status;
-        unsigned char                  self_test_exec_status;
-       unsigned short                  total_time_to_complete_off_line;
-       unsigned char                   vendor_specific_366;
-       unsigned char                   offline_data_collection_capability;
-       unsigned short                  smart_capability;
-       unsigned char                   errorlog_capability;
-       unsigned char                   vendor_specific_371;
-       unsigned char                   short_test_completion_time;
-       unsigned char                   extend_test_completion_time;
-       unsigned char                   reserved_374_385 [12];
-       unsigned char                   vendor_specific_386_509 [125];
-       unsigned char                   chksum;
-} __attribute__ ((packed)) ata_smart_values_t;
-
-/* Smart Threshold data structures */
-/* Vendor attribute of SMART Threshold */
-typedef struct ata_smart_threshold_entry_s {
-       unsigned char                   id;
-       unsigned char                   normalized_threshold;
-       unsigned char                   reserved[10];
-} __attribute__ ((packed)) ata_smart_threshold_entry_t;
-
-/* Format of Read SMART THreshold Command */
-typedef struct ata_smart_thresholds_s {
-       unsigned short                  revnumber;
-       ata_smart_threshold_entry_t     thres_entries[30];
-       unsigned char                   reserved[149];
-       unsigned char                   chksum;
-} __attribute__ ((packed)) ata_smart_thresholds_t;
-
-typedef struct ata_smart_errorlog_command_struct_s {
-       unsigned char                   devicecontrolreg;
-       unsigned char                   featuresreg;
-       unsigned char                   sector_count;
-       unsigned char                   sector_number;
-       unsigned char                   cylinder_low;
-       unsigned char                   cylinder_high;
-       unsigned char                   drive_head;
-       unsigned char                   commandreg;
-       unsigned int                    timestamp;
-} __attribute__ ((packed)) ata_smart_errorlog_command_struct_t;
-
-typedef struct ata_smart_errorlog_error_struct_s {
-       unsigned char                   error_condition;
-       unsigned char                   extended_error[14];
-       unsigned char                   state;
-       unsigned short                  timestamp;
-} __attribute__ ((packed)) ata_smart_errorlog_error_struct_t;
-
-typedef struct ata_smart_errorlog_struct_s {
-       ata_smart_errorlog_command_struct_t     commands[6];
-       ata_smart_errorlog_error_struct_t       error_struct;
-} __attribute__ ((packed)) ata_smart_errorlog_struct_t;
-
-typedef struct ata_smart_errorlog_s {
-       unsigned char                   revnumber;
-       unsigned char                   error_log_pointer;
-       ata_smart_errorlog_struct_t     errorlog_struct[5];
-       unsigned short                  ata_error_count;
-       unsigned short                  non_fatal_count;
-       unsigned short                  drive_timeout_count;
-       unsigned char                   reserved[53];
-       unsigned char                   chksum;
-} __attribute__ ((packed)) ata_smart_errorlog_t;
-
-typedef struct ata_smart_selftestlog_struct_s {
-       unsigned char                   selftestnumber;
-       unsigned char                   selfteststatus;
-       unsigned short                  timestamp;
-       unsigned char                   selftestfailurecheckpoint;
-       unsigned int                    lbafirstfailure;
-       unsigned char                   vendorspecific[15];
-} __attribute__ ((packed)) ata_smart_selftestlog_struct_t;
-
-typedef struct ata_smart_selftestlog_s {
-       unsigned short                  revnumber;
-       ata_smart_selftestlog_struct_t  selftest_struct[21];
-       unsigned char                   vendorspecific[2];
-       unsigned char                   mostrecenttest;
-       unsigned char                   resevered[2];
-       unsigned char                   chksum;
-} __attribute__ ((packed)) ata_smart_selftestlog_t;
-
-#endif /* _LINUX_HDSMART_H */

linux/hid.h, linux/hidraw.h

New file.

linux/if_bridge.h

diff -U 1 -Nwr 2.6.25/linux/if_bridge.h 2.6.26/linux/if_bridge.h
--- 2.6.25/linux/if_bridge.h    2008-07-11 12:23:44.000000000 +0200
+++ 2.6.26/linux/if_bridge.h    2008-07-11 12:22:28.000000000 +0200
@@ -99,3 +99,5 @@
        __u32 ageing_timer_value;
-       __u32 unused;
+       __u8 port_hi;
+       __u8 pad0;
+       __u16 unused;
 };

linux/if_tunnel.h

New definitions: SIOC*, ip_tunnel_prl, PRL_DEFAULT

linux/if_wanpipe.h

/!\ Removed file. Support for only user removed.

diff -U 1 -Nwr 2.6.25/linux/if_wanpipe.h 2.6.26/linux/if_wanpipe.h
--- 2.6.25/linux/if_wanpipe.h   2008-07-11 12:23:44.000000000 +0200
+++ 2.6.26/linux/if_wanpipe.h   1970-01-01 01:00:00.000000000 +0100
@@ -1,103 +0,0 @@
-/*****************************************************************************
-* if_wanpipe.h Header file for the Sangoma AF_WANPIPE Socket   
-*
-* Author:      Nenad Corbic    
-*
-* Copyright:   (c) 2000 Sangoma Technologies Inc.
-*
-*              This program is free software; you can redistribute it and/or
-*              modify it under the terms of the GNU General Public License
-*              as published by the Free Software Foundation; either version
-*              2 of the License, or (at your option) any later version.
-* ============================================================================
-*
-* Jan 28, 2000 Nenad Corbic    Initial Version
-*
-*****************************************************************************/
-
-#ifndef __LINUX_IF_WAN_PACKET_H
-#define __LINUX_IF_WAN_PACKET_H
-
-struct wan_sockaddr_ll
-{
-       unsigned short  sll_family;
-       unsigned short  sll_protocol;
-       int             sll_ifindex;
-       unsigned short  sll_hatype;
-       unsigned char   sll_pkttype;
-       unsigned char   sll_halen;
-       unsigned char   sll_addr[8];
-       unsigned char   sll_device[14];
-       unsigned char   sll_card[14];
-};
-
-typedef struct 
-{
-       unsigned char free;
-       unsigned char state_sk;
-       int rcvbuf;
-       int sndbuf;
-       int rmem;
-       int wmem;
-       int sk_count;
-       unsigned char bound;
-       char name[14];
-       unsigned char d_state;
-       unsigned char svc;
-       unsigned short lcn;
-       unsigned char mbox;
-       unsigned char cmd_busy;
-       unsigned char command;
-       unsigned poll;
-       unsigned poll_cnt;
-       int rblock;     
-} wan_debug_hdr_t;
-
-#define MAX_NUM_DEBUG  10
-#define X25_PROT       0x16
-#define PVC_PROT       0x17    
-
-typedef struct
-{
-       wan_debug_hdr_t debug[MAX_NUM_DEBUG];
-}wan_debug_t;
-
-#define        SIOC_WANPIPE_GET_CALL_DATA      (SIOCPROTOPRIVATE + 0)
-#define        SIOC_WANPIPE_SET_CALL_DATA      (SIOCPROTOPRIVATE + 1)
-#define SIOC_WANPIPE_ACCEPT_CALL       (SIOCPROTOPRIVATE + 2)
-#define SIOC_WANPIPE_CLEAR_CALL                (SIOCPROTOPRIVATE + 3)
-#define SIOC_WANPIPE_RESET_CALL                (SIOCPROTOPRIVATE + 4)
-#define SIOC_WANPIPE_DEBUG             (SIOCPROTOPRIVATE + 5)
-#define SIOC_WANPIPE_SET_NONBLOCK      (SIOCPROTOPRIVATE + 6)
-#define SIOC_WANPIPE_CHECK_TX          (SIOCPROTOPRIVATE + 7)
-#define SIOC_WANPIPE_SOCK_STATE                (SIOCPROTOPRIVATE + 8)
-
-/* Packet types */
-
-#define WAN_PACKET_HOST                0               /* To us                */
-#define WAN_PACKET_BROADCAST   1               /* To all               */
-#define WAN_PACKET_MULTICAST   2               /* To group             */
-#define WAN_PACKET_OTHERHOST   3               /* To someone else      */
-#define WAN_PACKET_OUTGOING            4               /* Outgoing of any type */
-/* These ones are invisible by user level */
-#define WAN_PACKET_LOOPBACK            5               /* MC/BRD frame looped back */
-#define WAN_PACKET_FASTROUTE   6               /* Fastrouted frame     */
-
-
-/* X25 specific */
-#define WAN_PACKET_DATA        7
-#define WAN_PACKET_CMD                 8
-#define WAN_PACKET_ASYNC       9
-#define WAN_PACKET_ERR        10
-
-/* Packet socket options */
-
-#define WAN_PACKET_ADD_MEMBERSHIP              1
-#define WAN_PACKET_DROP_MEMBERSHIP             2
-
-#define WAN_PACKET_MR_MULTICAST        0
-#define WAN_PACKET_MR_PROMISC  1
-#define WAN_PACKET_MR_ALLMULTI 2
-
-
-#endif

linux/in6.h

New definitions: IPV6_PREFER_SRC_*

linux/input.h

New definitions: KEY_MEDIA_REPEAT, SW_RFKILL_ALL

linux/ipv6.h

New definition: DEVCONF_MC_FORWARDING

linux/isdn.h

Removed cobalt special case for upper bounds

linux/keyctl.h

New definition: KEYCTL_GET_SECURITY

linux/kvm.h

New definitions kvm_*, KVM_*

linux/lock_dlm_plock.h

Removed file. Replaced by linux/dlm_plock.h, not compatible. Used by redhat-cluster. Fixed.

diff -U 1 -Nwr 2.6.25/linux/lock_dlm_plock.h 2.6.26/linux/lock_dlm_plock.h
--- 2.6.25/linux/lock_dlm_plock.h       2008-07-11 12:23:42.000000000 +0200
+++ 2.6.26/linux/lock_dlm_plock.h       1970-01-01 01:00:00.000000000 +0100
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2005 Red Hat, Inc.  All rights reserved.
- *
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
- */
-
-#ifndef __LOCK_DLM_PLOCK_DOT_H__
-#define __LOCK_DLM_PLOCK_DOT_H__
-
-#define GDLM_PLOCK_MISC_NAME           "lock_dlm_plock"
-
-#define GDLM_PLOCK_VERSION_MAJOR       1
-#define GDLM_PLOCK_VERSION_MINOR       1
-#define GDLM_PLOCK_VERSION_PATCH       0
-
-enum {
-       GDLM_PLOCK_OP_LOCK = 1,
-       GDLM_PLOCK_OP_UNLOCK,
-       GDLM_PLOCK_OP_GET,
-};
-
-struct gdlm_plock_info {
-       __u32 version[3];
-       __u8 optype;
-       __u8 ex;
-       __u8 wait;
-       __u8 pad;
-       __u32 pid;
-       __s32 nodeid;
-       __s32 rv;
-       __u32 fsid;
-       __u64 number;
-       __u64 start;
-       __u64 end;
-       __u64 owner;
-};
-
-#endif
-

linux/mempolicy.h

New definitions MPOL_*

linux/meye.h

Removed definition: ?V4L2_CID_SHARPNESS, replaced by ?V4L2_CID_MEYE_SHARPNESS. Fixed.

diff -U 1 -Nwr 2.6.25/linux/meye.h 2.6.26/linux/meye.h
--- 2.6.25/linux/meye.h 2008-07-11 12:23:42.000000000 +0200
+++ 2.6.26/linux/meye.h 2008-07-11 12:22:26.000000000 +0200
@@ -60,3 +60,3 @@
 #define V4L2_CID_AGC           V4L2_CID_PRIVATE_BASE
-#define V4L2_CID_SHARPNESS     (V4L2_CID_PRIVATE_BASE + 1)
+#define V4L2_CID_MEYE_SHARPNESS        (V4L2_CID_PRIVATE_BASE + 1)
 #define V4L2_CID_PICTURE       (V4L2_CID_PRIVATE_BASE + 2)

linux/mroute6.h

New file

linux/msdos_fs.h

/!\ Removed definition FAT_VALID_MEDIA

diff -U 1 -Nwr 2.6.25/linux/msdos_fs.h 2.6.26/linux/msdos_fs.h
--- 2.6.25/linux/msdos_fs.h     2008-07-11 12:23:45.000000000 +0200
+++ 2.6.26/linux/msdos_fs.h     2008-07-11 12:22:29.000000000 +0200
@@ -59,4 +59,2 @@
 
-/* media of boot sector */
-#define FAT_VALID_MEDIA(x)     ((0xF8 <= (x) && (x) <= 0xFF) || (x) == 0xF0)
 #define FAT_FIRST_ENT(s, x)    ((MSDOS_SB(s)->fat_bits == 32 ? 0x0FFFFF00 : \

linux/msg.h

New definition MSG_MEM_SCALE

linux/mtio.h

New definition MT_ST_SILI

linux/nbd.h

Remove non-gcc guard, would be broken anyway

linux/netdevice.h

Remove definitions LL_MAX_HEADER, MAX_HEADER. The value was never usable from userspace. Fixed.

diff -U 1 -Nwr 2.6.25/linux/netdevice.h 2.6.26/linux/netdevice.h
--- 2.6.25/linux/netdevice.h    2008-07-11 12:23:45.000000000 +0200
+++ 2.6.26/linux/netdevice.h    2008-07-11 12:22:29.000000000 +0200
@@ -39,25 +39,2 @@
 
-/*
- *     Compute the worst case header length according to the protocols
- *     used.
- */
- 
-#if !defined(CONFIG_AX25) && !defined(CONFIG_AX25_MODULE) && !defined(CONFIG_TR)
-#define LL_MAX_HEADER  32
-#else
-#if defined(CONFIG_AX25) || defined(CONFIG_AX25_MODULE)
-#define LL_MAX_HEADER  96
-#else
-#define LL_MAX_HEADER  48
-#endif
-#endif
-
-#if !defined(CONFIG_NET_IPIP) && !defined(CONFIG_NET_IPIP_MODULE) && \
-    !defined(CONFIG_NET_IPGRE) &&  !defined(CONFIG_NET_IPGRE_MODULE) && \
-    !defined(CONFIG_IPV6_SIT) && !defined(CONFIG_IPV6_SIT_MODULE) && \
-    !defined(CONFIG_IPV6_TUNNEL) && !defined(CONFIG_IPV6_TUNNEL_MODULE)
-#define MAX_HEADER LL_MAX_HEADER
-#else
-#define MAX_HEADER (LL_MAX_HEADER + 48)
-#endif

New definitions CTA_*

linux/netfilter/xt_sctp.h

New functions: sctp_*.

linux/netfilter_arp/arp_tables.h

/!\ Removed definitions: arpt_table, arpt_target, replaced by xt_*

diff -U 1 -Nwr 2.6.25/linux/netfilter_arp/arp_tables.h 2.6.26/linux/netfilter_arp/arp_tables.h
--- 2.6.25/linux/netfilter_arp/arp_tables.h     2008-07-11 12:23:39.000000000 +0200
+++ 2.6.26/linux/netfilter_arp/arp_tables.h     2008-07-11 12:22:23.000000000 +0200
@@ -17,4 +18,2 @@
 #define ARPT_TABLE_MAXNAMELEN XT_TABLE_MAXNAMELEN
-#define arpt_target xt_target
-#define arpt_table xt_table

linux/netfilter_ipv4.h

Removed definitions: NF_IP_PRI_CONNTRACK_HELPER, NF_IP_PRI_NAT_SEQ_ADJUST. Ignored. Value is only usable from kernel modules.

diff -U 1 -Nwr 2.6.25/linux/netfilter_ipv4.h 2.6.26/linux/netfilter_ipv4.h
--- 2.6.25/linux/netfilter_ipv4.h       2008-07-11 12:23:45.000000000 +0200
+++ 2.6.26/linux/netfilter_ipv4.h       2008-07-11 12:22:29.000000000 +0200
@@ -62,4 +62,2 @@
        NF_IP_PRI_SELINUX_LAST = 225,
-       NF_IP_PRI_CONNTRACK_HELPER = INT_MAX - 2,
-       NF_IP_PRI_NAT_SEQ_ADJUST = INT_MAX - 1,
        NF_IP_PRI_CONNTRACK_CONFIRM = INT_MAX,

linux/net.h

Compatible redefinition NPROTO

linux/nfs3.h

Removed definition of NFS3_POST_OP_ATTR_WORDS. Ignored.

diff -U 1 -Nwr 2.6.25/linux/nfs3.h 2.6.26/linux/nfs3.h
--- 2.6.25/linux/nfs3.h 2008-07-11 12:23:45.000000000 +0200
+++ 2.6.26/linux/nfs3.h 2008-07-11 12:22:29.000000000 +0200
@@ -98,8 +98,2 @@
 
-#if defined(__KERNEL__) || defined(NFS_NEED_KERNEL_TYPES)
-
-/* Number of 32bit words in post_op_attr */
-#define NFS3_POST_OP_ATTR_WORDS                22
-
-#endif /* __KERNEL__ */
 #endif /* _LINUX_NFS3_H */

linux/nl80211.h

New definitions NL80211_*

linux/pci_regs.h

New definitions PCI_EXP_*

linux/phantom.h

New definitions PHN_*, removed definition PH_IOC_MAXNR

diff -U 1 -Nwr 2.6.25/linux/phantom.h 2.6.26/linux/phantom.h
--- 2.6.25/linux/phantom.h      2008-07-11 12:23:42.000000000 +0200
+++ 2.6.26/linux/phantom.h      2008-07-11 12:22:27.000000000 +0200
@@ -36,3 +36,6 @@
 #define PHN_NOT_OH             _IO  (PH_IOC_MAGIC, 4)
-#define PH_IOC_MAXNR           4
+#define PHN_GETREG             _IOWR(PH_IOC_MAGIC, 5, struct phm_reg)
+#define PHN_SETREG             _IOW(PH_IOC_MAGIC, 6, struct phm_reg)
+#define PHN_GETREGS            _IOWR(PH_IOC_MAGIC, 7, struct phm_regs)
+#define PHN_SETREGS            _IOW(PH_IOC_MAGIC, 8, struct phm_regs)

linux/pim.h

New file

linux/prctl.h

New definitions PR_GET_*, PR_SET_*, PR_TSC_*

linux/resource.h

New definition RUSAGE_THREAD.

linux/rtnetlink.h

New definition RT_TABLE_COMPAT.

linux/serial_core.h

Moved internal port definitions.

diff -U 1 -Nwr 2.6.25/linux/serial_core.h 2.6.26/linux/serial_core.h
--- 2.6.25/linux/serial_core.h  2008-07-11 12:23:46.000000000 +0200
+++ 2.6.26/linux/serial_core.h  2008-07-11 12:22:30.000000000 +0200
@@ -151,4 +151,4 @@
 
-#define PORT_SC26XX    79
-
+/* Blackfin SPORT */
+#define PORT_BFIN_SPORT                79
 
@@ -158,2 +158,4 @@
 
+#define PORT_SC26XX    82
+

linux/serio.h

New definition SERIO_ZHENHUA

linux/synclink.h

diff -U 1 -Nwr 2.6.25/linux/synclink.h 2.6.26/linux/synclink.h
--- 2.6.25/linux/synclink.h     2008-07-11 12:23:46.000000000 +0200
+++ 2.6.26/linux/synclink.h     2008-07-11 12:22:30.000000000 +0200
@@ -15,6 +15,2 @@
 
-#define BOOLEAN int
-#define TRUE 1
-#define FALSE 0
-
 #define BIT0   0x0001

linux/timex.h

Update version of kernel interface. Not used from userspace.

diff -U 1 -Nwr 2.6.25/linux/timex.h 2.6.26/linux/timex.h
--- 2.6.25/linux/timex.h        2008-07-11 12:23:46.000000000 +0200
+++ 2.6.26/linux/timex.h        2008-07-11 12:22:31.000000000 +0200
@@ -59,2 +59,4 @@
 
+#define NTP_API                4       /* NTP API version */
+
 /*
@@ -83,12 +81,14 @@
  */
-#define SHIFT_UPDATE (SHIFT_HZ + 1) /* time offset scale (shift) */
 #define SHIFT_USEC 16          /* frequency offset scale (shift) */
-#define SHIFT_NSEC 12          /* kernel frequency offset scale */
-
-#define MAXPHASE 512000L        /* max phase error (us) */
-#define MAXFREQ (512L << SHIFT_USEC)  /* max frequency error (ppm) */
-#define MAXFREQ_NSEC (512000L << SHIFT_NSEC) /* max frequency error (ppb) */
+#define PPM_SCALE (NSEC_PER_USEC << (NTP_SCALE_SHIFT - SHIFT_USEC))
+#define PPM_SCALE_INV_SHIFT 20
+#define PPM_SCALE_INV ((1ll << (PPM_SCALE_INV_SHIFT + NTP_SCALE_SHIFT)) / \
+                      PPM_SCALE + 1)
+
+#define MAXPHASE 500000000l    /* max phase error (ns) */
+#define MAXFREQ 500000         /* max frequency error (ns/s) */
+#define MAXFREQ_SCALED ((s64)MAXFREQ << NTP_SCALE_SHIFT)
 #define MINSEC 256             /* min interval between updates (s) */
 #define MAXSEC 2048            /* max interval between updates (s) */
-#define        NTP_PHASE_LIMIT (MAXPHASE << 5) /* beyond max. dispersion */
+#define NTP_PHASE_LIMIT ((MAXPHASE / NSEC_PER_USEC) << 5) /* beyond max. dispersion */
 
@@ -122,5 +122,7 @@
 
+       int tai;                /* TAI offset (ro) */
+
        int  :32; int  :32; int  :32; int  :32;
        int  :32; int  :32; int  :32; int  :32;
-       int  :32; int  :32; int  :32; int  :32;
+       int  :32; int  :32; int  :32;
 };
@@ -136,2 +138,5 @@
 #define ADJ_TIMECONST          0x0020  /* pll time constant */
+#define ADJ_TAI                        0x0080  /* set TAI offset */
+#define ADJ_MICRO              0x1000  /* select microsecond resolution */
+#define ADJ_NANO               0x2000  /* select nanosecond resolution */
 #define ADJ_TICK               0x4000  /* tick value */
@@ -147,4 +152,2 @@
 #define MOD_TIMECONST  ADJ_TIMECONST
-#define MOD_CLKB       ADJ_TICK
-#define MOD_CLKA       ADJ_OFFSET_SINGLESHOT /* 0x8000 in original */
 
@@ -170,5 +173,9 @@
 #define STA_CLOCKERR   0x1000  /* clock hardware fault (ro) */
+#define STA_NANO       0x2000  /* resolution (0 = us, 1 = ns) (ro) */
+#define STA_MODE       0x4000  /* mode (0 = PLL, 1 = FLL) (ro) */
+#define STA_CLK                0x8000  /* clock source (0 = A, 1 = B) (ro) */
 
+/* read-only bits */
 #define STA_RONLY (STA_PPSSIGNAL | STA_PPSJITTER | STA_PPSWANDER | \
-    STA_PPSERROR | STA_CLOCKERR) /* read-only bits */
+       STA_PPSERROR | STA_CLOCKERR | STA_NANO | STA_MODE | STA_CLK)

linux/usb/cdc.h

New definition usb_cdc_dmm_desc.

linux/usb/ch9.h

New definition USB_DT_CS_RADIO_CONTROL, USB_CAP_TYPE_EXT, usb_ext_cap_descriptor, USB_LPM_SUPPORT

linux/usbdevice_fs.h

New definitions USBDEVFS_URB_*

linux/videodev2.h

Nw definitions ?V4L2_*

linux/virtio_9p.h, linux/virtio_balloon.h

New file.

linux/virtio_blk.h, linux/virtio_config.h

Types update. New definitions VIRTIO_*

linux/virtio_console.h

New file

linux/virtio_net.h

Types update

linux/virtio_pci.h, linux/virtio_ring.h

New file.

linux/wireless.h

New definition IW_MODE_MESH.

linux/xfrm.h

Types update, new definition XFRM_POLICY_TYPE_ANY, XFRM_STATE_AF_UNSPEC

mtd

mtd/ubi-header.h

Removed file. Defines on-media format. Fixed.

diff -U 1 -Nwr 2.6.25/mtd/ubi-header.h 2.6.26/mtd/ubi-header.h
--- 2.6.25/mtd/ubi-header.h     2008-07-11 12:23:47.000000000 +0200
+++ 2.6.26/mtd/ubi-header.h     1970-01-01 01:00:00.000000000 +0100
@@ -1,372 +0,0 @@
-/*
- * Copyright (c) International Business Machines Corp., 2006
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * Authors: Artem Bityutskiy (Битюцкий Артём)
- *          Thomas Gleixner
- *          Frank Haverkamp
- *          Oliver Lohmann
- *          Andreas Arnez
- */
-
-/*
- * This file defines the layout of UBI headers and all the other UBI on-flash
- * data structures. May be included by user-space.
- */
-
-#ifndef __UBI_HEADER_H__
-#define __UBI_HEADER_H__
-
-#include <asm/byteorder.h>
-
-/* The version of UBI images supported by this implementation */
-#define UBI_VERSION 1
-
-/* The highest erase counter value supported by this implementation */
-#define UBI_MAX_ERASECOUNTER 0x7FFFFFFF
-
-/* The initial CRC32 value used when calculating CRC checksums */
-#define UBI_CRC32_INIT 0xFFFFFFFFU
-
-/* Erase counter header magic number (ASCII "UBI#") */
-#define UBI_EC_HDR_MAGIC  0x55424923
-/* Volume identifier header magic number (ASCII "UBI!") */
-#define UBI_VID_HDR_MAGIC 0x55424921
-
-/*
- * Volume type constants used in the volume identifier header.
- *
- * @UBI_VID_DYNAMIC: dynamic volume
- * @UBI_VID_STATIC: static volume
- */
-enum {
-       UBI_VID_DYNAMIC = 1,
-       UBI_VID_STATIC  = 2
-};
-
-/*
- * Volume flags used in the volume table record.
- *
- * @UBI_VTBL_AUTORESIZE_FLG: auto-resize this volume
- *
- * %UBI_VTBL_AUTORESIZE_FLG flag can be set only for one volume in the volume
- * table. UBI automatically re-sizes the volume which has this flag and makes
- * the volume to be of largest possible size. This means that if after the
- * initialization UBI finds out that there are available physical eraseblocks
- * present on the device, it automatically appends all of them to the volume
- * (the physical eraseblocks reserved for bad eraseblocks handling and other
- * reserved physical eraseblocks are not taken). So, if there is a volume with
- * the %UBI_VTBL_AUTORESIZE_FLG flag set, the amount of available logical
- * eraseblocks will be zero after UBI is loaded, because all of them will be
- * reserved for this volume. Note, the %UBI_VTBL_AUTORESIZE_FLG bit is cleared
- * after the volume had been initialized.
- *
- * The auto-resize feature is useful for device production purposes. For
- * example, different NAND flash chips may have different amount of initial bad
- * eraseblocks, depending of particular chip instance. Manufacturers of NAND
- * chips usually guarantee that the amount of initial bad eraseblocks does not
- * exceed certain percent, e.g. 2%. When one creates an UBI image which will be
- * flashed to the end devices in production, he does not know the exact amount
- * of good physical eraseblocks the NAND chip on the device will have, but this
- * number is required to calculate the volume sized and put them to the volume
- * table of the UBI image. In this case, one of the volumes (e.g., the one
- * which will store the root file system) is marked as "auto-resizable", and
- * UBI will adjust its size on the first boot if needed.
- *
- * Note, first UBI reserves some amount of physical eraseblocks for bad
- * eraseblock handling, and then re-sizes the volume, not vice-versa. This
- * means that the pool of reserved physical eraseblocks will always be present.
- */
-enum {
-       UBI_VTBL_AUTORESIZE_FLG = 0x01,
-};
-
-/*
- * Compatibility constants used by internal volumes.
- *
- * @UBI_COMPAT_DELETE: delete this internal volume before anything is written
- * to the flash
- * @UBI_COMPAT_RO: attach this device in read-only mode
- * @UBI_COMPAT_PRESERVE: preserve this internal volume - do not touch its
- * physical eraseblocks, don't allow the wear-leveling unit to move them
- * @UBI_COMPAT_REJECT: reject this UBI image
- */
-enum {
-       UBI_COMPAT_DELETE   = 1,
-       UBI_COMPAT_RO       = 2,
-       UBI_COMPAT_PRESERVE = 4,
-       UBI_COMPAT_REJECT   = 5
-};
-
-/* Sizes of UBI headers */
-#define UBI_EC_HDR_SIZE  sizeof(struct ubi_ec_hdr)
-#define UBI_VID_HDR_SIZE sizeof(struct ubi_vid_hdr)
-
-/* Sizes of UBI headers without the ending CRC */
-#define UBI_EC_HDR_SIZE_CRC  (UBI_EC_HDR_SIZE  - sizeof(__be32))
-#define UBI_VID_HDR_SIZE_CRC (UBI_VID_HDR_SIZE - sizeof(__be32))
-
-/**
- * struct ubi_ec_hdr - UBI erase counter header.
- * @magic: erase counter header magic number (%UBI_EC_HDR_MAGIC)
- * @version: version of UBI implementation which is supposed to accept this
- * UBI image
- * @padding1: reserved for future, zeroes
- * @ec: the erase counter
- * @vid_hdr_offset: where the VID header starts
- * @data_offset: where the user data start
- * @padding2: reserved for future, zeroes
- * @hdr_crc: erase counter header CRC checksum
- *
- * The erase counter header takes 64 bytes and has a plenty of unused space for
- * future usage. The unused fields are zeroed. The @version field is used to
- * indicate the version of UBI implementation which is supposed to be able to
- * work with this UBI image. If @version is greater then the current UBI
- * version, the image is rejected. This may be useful in future if something
- * is changed radically. This field is duplicated in the volume identifier
- * header.
- *
- * The @vid_hdr_offset and @data_offset fields contain the offset of the the
- * volume identifier header and user data, relative to the beginning of the
- * physical eraseblock. These values have to be the same for all physical
- * eraseblocks.
- */
-struct ubi_ec_hdr {
-       __be32  magic;
-       __u8    version;
-       __u8    padding1[3];
-       __be64  ec; /* Warning: the current limit is 31-bit anyway! */
-       __be32  vid_hdr_offset;
-       __be32  data_offset;
-       __u8    padding2[36];
-       __be32  hdr_crc;
-} __attribute__ ((packed));
-
-/**
- * struct ubi_vid_hdr - on-flash UBI volume identifier header.
- * @magic: volume identifier header magic number (%UBI_VID_HDR_MAGIC)
- * @version: UBI implementation version which is supposed to accept this UBI
- * image (%UBI_VERSION)
- * @vol_type: volume type (%UBI_VID_DYNAMIC or %UBI_VID_STATIC)
- * @copy_flag: if this logical eraseblock was copied from another physical
- * eraseblock (for wear-leveling reasons)
- * @compat: compatibility of this volume (%0, %UBI_COMPAT_DELETE,
- * %UBI_COMPAT_IGNORE, %UBI_COMPAT_PRESERVE, or %UBI_COMPAT_REJECT)
- * @vol_id: ID of this volume
- * @lnum: logical eraseblock number
- * @leb_ver: version of this logical eraseblock (IMPORTANT: obsolete, to be
- * removed, kept only for not breaking older UBI users)
- * @data_size: how many bytes of data this logical eraseblock contains
- * @used_ebs: total number of used logical eraseblocks in this volume
- * @data_pad: how many bytes at the end of this physical eraseblock are not
- * used
- * @data_crc: CRC checksum of the data stored in this logical eraseblock
- * @padding1: reserved for future, zeroes
- * @sqnum: sequence number
- * @padding2: reserved for future, zeroes
- * @hdr_crc: volume identifier header CRC checksum
- *
- * The @sqnum is the value of the global sequence counter at the time when this
- * VID header was created. The global sequence counter is incremented each time
- * UBI writes a new VID header to the flash, i.e. when it maps a logical
- * eraseblock to a new physical eraseblock. The global sequence counter is an
- * unsigned 64-bit integer and we assume it never overflows. The @sqnum
- * (sequence number) is used to distinguish between older and newer versions of
- * logical eraseblocks.
- *
- * There are 2 situations when there may be more then one physical eraseblock
- * corresponding to the same logical eraseblock, i.e., having the same @vol_id
- * and @lnum values in the volume identifier header. Suppose we have a logical
- * eraseblock L and it is mapped to the physical eraseblock P.
- *
- * 1. Because UBI may erase physical eraseblocks asynchronously, the following
- * situation is possible: L is asynchronously erased, so P is scheduled for
- * erasure, then L is written to,i.e. mapped to another physical eraseblock P1,
- * so P1 is written to, then an unclean reboot happens. Result - there are 2
- * physical eraseblocks P and P1 corresponding to the same logical eraseblock
- * L. But P1 has greater sequence number, so UBI picks P1 when it attaches the
- * flash.
- *
- * 2. From time to time UBI moves logical eraseblocks to other physical
- * eraseblocks for wear-leveling reasons. If, for example, UBI moves L from P
- * to P1, and an unclean reboot happens before P is physically erased, there
- * are two physical eraseblocks P and P1 corresponding to L and UBI has to
- * select one of them when the flash is attached. The @sqnum field says which
- * PEB is the original (obviously P will have lower @sqnum) and the copy. But
- * it is not enough to select the physical eraseblock with the higher sequence
- * number, because the unclean reboot could have happen in the middle of the
- * copying process, so the data in P is corrupted. It is also not enough to
- * just select the physical eraseblock with lower sequence number, because the
- * data there may be old (consider a case if more data was added to P1 after
- * the copying). Moreover, the unclean reboot may happen when the erasure of P
- * was just started, so it result in unstable P, which is "mostly" OK, but
- * still has unstable bits.
- *
- * UBI uses the @copy_flag field to indicate that this logical eraseblock is a
- * copy. UBI also calculates data CRC when the data is moved and stores it at
- * the @data_crc field of the copy (P1). So when UBI needs to pick one physical
- * eraseblock of two (P or P1), the @copy_flag of the newer one (P1) is
- * examined. If it is cleared, the situation* is simple and the newer one is
- * picked. If it is set, the data CRC of the copy (P1) is examined. If the CRC
- * checksum is correct, this physical eraseblock is selected (P1). Otherwise
- * the older one (P) is selected.
- *
- * Note, there is an obsolete @leb_ver field which was used instead of @sqnum
- * in the past. But it is not used anymore and we keep it in order to be able
- * to deal with old UBI images. It will be removed at some point.
- *
- * There are 2 sorts of volumes in UBI: user volumes and internal volumes.
- * Internal volumes are not seen from outside and are used for various internal
- * UBI purposes. In this implementation there is only one internal volume - the
- * layout volume. Internal volumes are the main mechanism of UBI extensions.
- * For example, in future one may introduce a journal internal volume. Internal
- * volumes have their own reserved range of IDs.
- *
- * The @compat field is only used for internal volumes and contains the "degree
- * of their compatibility". It is always zero for user volumes. This field
- * provides a mechanism to introduce UBI extensions and to be still compatible
- * with older UBI binaries. For example, if someone introduced a journal in
- * future, he would probably use %UBI_COMPAT_DELETE compatibility for the
- * journal volume.  And in this case, older UBI binaries, which know nothing
- * about the journal volume, would just delete this volume and work perfectly
- * fine. This is similar to what Ext2fs does when it is fed by an Ext3fs image
- * - it just ignores the Ext3fs journal.
- *
- * The @data_crc field contains the CRC checksum of the contents of the logical
- * eraseblock if this is a static volume. In case of dynamic volumes, it does
- * not contain the CRC checksum as a rule. The only exception is when the
- * data of the physical eraseblock was moved by the wear-leveling unit, then
- * the wear-leveling unit calculates the data CRC and stores it in the
- * @data_crc field. And of course, the @copy_flag is %in this case.
- *
- * The @data_size field is used only for static volumes because UBI has to know
- * how many bytes of data are stored in this eraseblock. For dynamic volumes,
- * this field usually contains zero. The only exception is when the data of the
- * physical eraseblock was moved to another physical eraseblock for
- * wear-leveling reasons. In this case, UBI calculates CRC checksum of the
- * contents and uses both @data_crc and @data_size fields. In this case, the
- * @data_size field contains data size.
- *
- * The @used_ebs field is used only for static volumes and indicates how many
- * eraseblocks the data of the volume takes. For dynamic volumes this field is
- * not used and always contains zero.
- *
- * The @data_pad is calculated when volumes are created using the alignment
- * parameter. So, effectively, the @data_pad field reduces the size of logical
- * eraseblocks of this volume. This is very handy when one uses block-oriented
- * software (say, cramfs) on top of the UBI volume.
- */
-struct ubi_vid_hdr {
-       __be32  magic;
-       __u8    version;
-       __u8    vol_type;
-       __u8    copy_flag;
-       __u8    compat;
-       __be32  vol_id;
-       __be32  lnum;
-       __be32  leb_ver; /* obsolete, to be removed, don't use */
-       __be32  data_size;
-       __be32  used_ebs;
-       __be32  data_pad;
-       __be32  data_crc;
-       __u8    padding1[4];
-       __be64  sqnum;
-       __u8    padding2[12];
-       __be32  hdr_crc;
-} __attribute__ ((packed));
-
-/* Internal UBI volumes count */
-#define UBI_INT_VOL_COUNT 1
-
-/*
- * Starting ID of internal volumes. There is reserved room for 4096 internal
- * volumes.
- */
-#define UBI_INTERNAL_VOL_START (0x7FFFFFFF - 4096)
-
-/* The layout volume contains the volume table */
-
-#define UBI_LAYOUT_VOLUME_ID     UBI_INTERNAL_VOL_START
-#define UBI_LAYOUT_VOLUME_TYPE   UBI_VID_DYNAMIC
-#define UBI_LAYOUT_VOLUME_ALIGN  1
-#define UBI_LAYOUT_VOLUME_EBS    2
-#define UBI_LAYOUT_VOLUME_NAME   "layout volume"
-#define UBI_LAYOUT_VOLUME_COMPAT UBI_COMPAT_REJECT
-
-/* The maximum number of volumes per one UBI device */
-#define UBI_MAX_VOLUMES 128
-
-/* The maximum volume name length */
-#define UBI_VOL_NAME_MAX 127
-
-/* Size of the volume table record */
-#define UBI_VTBL_RECORD_SIZE sizeof(struct ubi_vtbl_record)
-
-/* Size of the volume table record without the ending CRC */
-#define UBI_VTBL_RECORD_SIZE_CRC (UBI_VTBL_RECORD_SIZE - sizeof(__be32))
-
-/**
- * struct ubi_vtbl_record - a record in the volume table.
- * @reserved_pebs: how many physical eraseblocks are reserved for this volume
- * @alignment: volume alignment
- * @data_pad: how many bytes are unused at the end of the each physical
- * eraseblock to satisfy the requested alignment
- * @vol_type: volume type (%UBI_DYNAMIC_VOLUME or %UBI_STATIC_VOLUME)
- * @upd_marker: if volume update was started but not finished
- * @name_len: volume name length
- * @name: the volume name
- * @flags: volume flags (%UBI_VTBL_AUTORESIZE_FLG)
- * @padding: reserved, zeroes
- * @crc: a CRC32 checksum of the record
- *
- * The volume table records are stored in the volume table, which is stored in
- * the layout volume. The layout volume consists of 2 logical eraseblock, each
- * of which contains a copy of the volume table (i.e., the volume table is
- * duplicated). The volume table is an array of &struct ubi_vtbl_record
- * objects indexed by the volume ID.
- *
- * If the size of the logical eraseblock is large enough to fit
- * %UBI_MAX_VOLUMES records, the volume table contains %UBI_MAX_VOLUMES
- * records. Otherwise, it contains as many records as it can fit (i.e., size of
- * logical eraseblock divided by sizeof(struct ubi_vtbl_record)).
- *
- * The @upd_marker flag is used to implement volume update. It is set to %1
- * before update and set to %0 after the update. So if the update operation was
- * interrupted, UBI knows that the volume is corrupted.
- *
- * The @alignment field is specified when the volume is created and cannot be
- * later changed. It may be useful, for example, when a block-oriented file
- * system works on top of UBI. The @data_pad field is calculated using the
- * logical eraseblock size and @alignment. The alignment must be multiple to the
- * minimal flash I/O unit. If @alignment is 1, all the available space of
- * the physical eraseblocks is used.
- *
- * Empty records contain all zeroes and the CRC checksum of those zeroes.
- */
-struct ubi_vtbl_record {
-       __be32  reserved_pebs;
-       __be32  alignment;
-       __be32  data_pad;
-       __u8    vol_type;
-       __u8    upd_marker;
-       __be16  name_len;
-       __u8    name[UBI_VOL_NAME_MAX+1];
-       __u8    flags;
-       __u8    padding[23];
-       __be32  crc;
-} __attribute__ ((packed));
-
-#endif /* !__UBI_HEADER_H__ */