1. 13 Oct, 2002 11 commits
    • Russell King's avatar
      [ARM] Other updates for changes in 2.5.42 · 17b77695
      Russell King authored
      This adds ARM support for in_atomic() and asm/numnodes.h
      17b77695
    • Russell King's avatar
      [ARM] Update neponset/sa1111 for Linux device model updates. · 69bc3279
      Russell King authored
      This updates these neponset and sa1111 support to use the new system
      device infrastructure in the Linux device model.
      69bc3279
    • Russell King's avatar
      [ARM] Optimise ARM TLB handling · 9c7fd8c7
      Russell King authored
      Sanitise includes of asm/tlbflush.h, asm/cacheflush.h, asm/proc-fns.h
      Implement ARM-specific TLB "shootdown" code.  It turns out that it
      is overall more efficient to unconditionally invalidate the whole
      TLB rather than entry by entry when removing areas.
      9c7fd8c7
    • Russell King's avatar
      [ARM] Update RiscPC decompressor for PIC changes · d6494ca3
      Russell King authored
      This cset fixes the RiscPC decompressor code for the PIC changes.
      
      We use a pointer to a structure rather than a structure to access
      params.  With a PIC decompressor, the address of the structure gets
      PIC-ified which is not what we want.
      d6494ca3
    • Russell King's avatar
      [ARM] Update for signal handling changes. · b8f8251c
      Russell King authored
      b8f8251c
    • Russell King's avatar
      [ARM] Update pcibios_enable_device, supply pci_mmap_page_range() · d301001e
      Russell King authored
      Update pcibios_enable_device to only enable requested resources,
      mainly for IDE.  Supply a pci_mmap_page_range() function to allow
      user space to mmap PCI regions.
      d301001e
    • Russell King's avatar
      [ARM] Update timekeeping functions to use tick_nsec/1000 · 31d49a63
      Russell King authored
      This updates the ARM time keeping functions to use tick_nsec/1000
      instead of tick.
      31d49a63
    • Russell King's avatar
      [ARM] Ensure deselected config variables are defined to 'n' · eac00de1
      Russell King authored
      To keep the Config.in files relatively clean, we use the
      following construct:
      
       if [ "$CONFIG_ARM" = "y" ]; then
          dep_tristate 'Foo' CONFIG_FOO $CONFIG_BAR
       fi
      
      where CONFIG_BAR is some machine implementation or high-level
      chip support configuration option.  If CONFIG_BAR is left
      empty, then the tristate is offered to the user, which isn't
      what we want.  Defining CONFIG_BAR to 'n' prevents the option
      being offered.
      
      This is a rule I generally try to implement within
      arch/arm/config.in.
      
      This cset makes CONFIG_SA1111 and CONFIG_ARM_THUMB behave that
      way.
      eac00de1
    • Russell King's avatar
      [ARM] Allow CONFIG_ZBOOT_ROM=y image to be relocated to RAM · e34b499b
      Russell King authored
      Since the decompressor supports PIC, even for CONFIG_ZBOOT_ROM,
      we can easily allow an image which has been linked to run at
      a particular address in ROM to be moved to RAM.  We just need
      to make sure that we don't relocate the GOT entries for the
      BSS segment.
      
      This cset also implements sa1100-based debugging for the
      decompressor.
      e34b499b
    • Russell King's avatar
      [ARM] Move TEXTADDR and DATAADDR out of vmlinux.lds.S · af4f9374
      Russell King authored
      These two variables are used by more than just the linker;
      they're also used by head.S to know where it can safely
      place the page tables.  We therefore need to export it
      from the Makefile.
      
      These are also highly machine dependent; we don't want
      to duplicate the same set of conditionals for cpp and
      for the makefiles.
      
      arch/arm/Makefile also contained a stray close-paren.  I'm
      submitting this one to the lost property office.
      
      We also always pass -mno-fpu to the assember; this
      guarantees that any floating point will be caught.
      af4f9374
    • Russell King's avatar
      [SERIAL] Fix Sparc32/64 handling of CONFIG_SERIAL_CORE{,_CONSOLE} · 708a3b4a
      Russell King authored
      SPARC was unconditionally setting CONFIG_SERIAL_CORE_CONSOLE to y
      and conditionally setting CONFIG_SERIAL_CORE depending on the Sparc
      sub-drivers.  In addition, the core serial driver for SPARC is
      always built, so we end up with link errors.
      
      We instead make CONFIG_SERIAL_CORE{,_CONSOLE} dependent on building
      the SPARC core driver (CONFIG_SERIAL_SUNCORE).
      708a3b4a
  2. 11 Oct, 2002 29 commits
    • Linus Torvalds's avatar
      Linux v2.5.42 · e856ba4a
      Linus Torvalds authored
      e856ba4a
    • Linus Torvalds's avatar
      Declare set_change_info() only if CONFIG_NFSD_V3 is enabled. It · 50a2b7dd
      Linus Torvalds authored
      uses fields that do not exist otherwise.
      50a2b7dd
    • Andi Kleen's avatar
      [PATCH] Efficient bswab64 for i386 · 08f895c3
      Andi Kleen authored
      Due to some bugs in byteorder/generic.h linux would always use C handcoded
      swab64 for 64bit ntohq or cpu_to_be64.  The C version is very inefficient
      and expands to 30+ instructions of horrible code.
      
      This hurts on filesystems that use on disk big endian data structures
      with 64bit data types.
      
      This patch adds an assembly optimized swab64 to fix it. Now bswab64 is
      4 instructions when your CPU supports bswap and 9 when it doesn't.
      Tests were done with gcc 3.2, may be different on older gcc.
      
      This is good for ~600 bytes code size reduction in XFS (gcc 3.2):
      Before:
       503199    3296    1682  508177   7c111 fs/xfs/xfs.o
      After:
       502543    3296    1682  507521   7be81 fs/xfs/xfs.o
      
      Also should be faster.
      
      Also some minor cleanups in the file.
      08f895c3
    • Linus Torvalds's avatar
      Merge home.transmeta.com:/home/torvalds/v2.5/coda · b4655acd
      Linus Torvalds authored
      into home.transmeta.com:/home/torvalds/v2.5/linux
      b4655acd
    • Jan Harkes's avatar
      [PATCH] Coda FS update · dbd82204
      Jan Harkes authored
      Most of these changes have been tested and used in the 2.4 tree, so this
      is mostly a forward port of 2.4 bugfixes.
      
      * C99 initializers
      * Added specific initializations instead of assuming that the private
        part of the inode is already initialized.
      * Remove unused code.
      * Moved container file to the struct file private data, this is to
      * correct the session semantics model when file updates are fetched from
      * the server (old 'sessions' shouldn't see the new container yet).
      * Fixed consistency (and occasional oopes) when mmap-ing Coda files.
      * Fixing up inode numbers in readdir, old libc5 getcwd was broken.
      * Nuked upcall_stats, all of this can easily be maintained in userspace,
        and the existing code suffers from overflows in the fixed point
        calculations.
      dbd82204
    • Andrew Morton's avatar
      [PATCH] various fixes · 77a32d76
      Andrew Morton authored
      - Fix some printk warnings in 3c59x.c (inl() now returns a long).
      
      - ext3 warning fix from Stephen Hemminger: "__FUNCTION__ is a
        constant and gcc warns about passing it as a mutuable string."
      
      - Fix a return-with-BKL-held in isofs_readdir()
      
      - paride 64-bit sector_t fix (Bill Irwin)
      77a32d76
    • Linus Torvalds's avatar
      Merge http://linux-ntfs.bkbits.net/linux-2.5-ilookup · eef57ec4
      Linus Torvalds authored
      into home.transmeta.com:/home/torvalds/v2.5/linux
      eef57ec4
    • John Stultz's avatar
      [PATCH] linux-2.5.41_cyclone-fixes_A1 · 589409a9
      John Stultz authored
      This syncs up the cyclone-timer code w/ Greg's changes from this
      morning.
      589409a9
    • Peter Chubb's avatar
      [PATCH] fix crash in yenta_bh() on card insertion/removal · 196c87ec
      Peter Chubb authored
      In the current kernels, when a PCMCIA card is inserted into or
      removed from a socket, the kernel oopses because yenta_bh() tries to
      dereference a NULL pointer.
      
      The attached patch initialises the argument to yenta_bh() so that this
      doesn't happen.
      196c87ec
    • Linus Torvalds's avatar
      Merge http://linux-isdn.bkbits.net/linux-2.5.eicon · 57e06b22
      Linus Torvalds authored
      into home.transmeta.com:/home/torvalds/v2.5/linux
      57e06b22
    • Linus Torvalds's avatar
      Merge http://linux-isdn.bkbits.net/linux-2.5.isdn · 3b1022c5
      Linus Torvalds authored
      into home.transmeta.com:/home/torvalds/v2.5/linux
      3b1022c5
    • Rolf Eike Beer's avatar
      [PATCH] improve NCR53c710 SCSI driver · 798c67c3
      Rolf Eike Beer authored
      798c67c3
    • Neil Brown's avatar
      [PATCH] kNFSd: upcall/update for export tables · 5f8c40c2
      Neil Brown authored
      Add _request and _parse methods for nfsd.fh and
      nfsd.exports tables.
      
      nfsd.fh maps a filehandle-fragment to a path for a client,
      and nfsd.exports maps a path to export options for a client.
      5f8c40c2
    • Neil Brown's avatar
      [PATCH] kNFSd: Impletement ip_map_parse to allow filling auth.unix.ip cache · b07ac7f0
      Neil Brown authored
      a message should be:
         nfsd 10.0.1.1 {Expirydate}  domainname
      
      if domainname is empty, then this is a NEGATIVE entry: that
      IP address will be deined access.
      
      {Expirydate} is seconds since unix epoch.
      e.g.  1036105199 for midnight, halloween.
      b07ac7f0
    • Neil Brown's avatar
      60b00ad8
    • Neil Brown's avatar
      [PATCH] kNFSd: Implement get_word to help in parsing cache updates · 5ce8b167
      Neil Brown authored
      get_word understands both \x and \012 quoting styles.
      5ce8b167
    • Neil Brown's avatar
      [PATCH] kNFSd: Implement ip_map_request for upcalls · 11644e2e
      Neil Brown authored
      This is the first upcall to actually be coded.
      A request will look like:
         nfsd 127.0.0.1
      11644e2e
    • Neil Brown's avatar
      [PATCH] kNFSd: Provide generic code for making an upcall. · a9f2e47f
      Neil Brown authored
      This code enhances 'cache_check' to try to initiate
      an up-call if the cache entry is not up-to-date, and also
      defines add_word and add_hex for formating up-call
      requests.  See rpc-cache.txt for more detail.
      a9f2e47f
    • Neil Brown's avatar
      [PATCH] kNFSd: Create files: /proc/net/rpc/$CACHENAME/channel for... · 04ffa550
      Neil Brown authored
      [PATCH] kNFSd: Create files: /proc/net/rpc/$CACHENAME/channel for communicating cache updates with kernel
      
      Each cache gets it's own 'channel' at
        /proc/net/rpc/$CACHENAME/channel
      
      Reads from the file will return all pending requests, one at a time.
      select will block when at end of file.
      writes will pass full lines in to be processed.
      04ffa550
    • Neil Brown's avatar
      [PATCH] kNFSd: Provide support for request deferral and revisit. · ea221223
      Neil Brown authored
      cache.c gets code to allow a 'request' to be referred pending
      an update of a cache item, and revisited when the item is
      updates.
      
      svcsock.c gets code to store the relevant part of a request on deferral, and
      to re-queue it when the cache item that caused the deferral is
      filled in.
      ea221223
    • Neil Brown's avatar
      [PATCH] kNFSd: decode symlink inplace to avoid modifying request · ac26cbd7
      Neil Brown authored
      Rather than possibly modifying a request (as
      xdr_decode_string can) we use xdr_decode_string_inplace
      to symlink contents.  This string may not be nul terminated
      (though it often is) so in the 'unlikely' event that is isn't
      nul terminated, we copy it into a kmalloced space first.
      
      It might be nice if vfs_symlink took a length, but then every
      filesystem would have to as well....
      ac26cbd7
    • Neil Brown's avatar
      [PATCH] kNFSd: Don't over-write rpc request with response. · 4ed45520
      Neil Brown authored
      We are going to want rpc request to be immutable so that
      we can take a copy and put it aside to be processed later.
      Currently the tcp code writes the response into the same
      buffer as the request, thus corrupting the request.
      With this patch, the response goes after the request.  There should
      always be enough room as large reqeusts (Write) has small
      responses, and large responses (read) are for small requests.
      
      buflen is changed for requests to record the length of the
      request.  It already gets reset for each new request.
      4ed45520
    • Neil Brown's avatar
      [PATCH] kNFSd: Convert export-table to use new cache code · 85d18365
      Neil Brown authored
      This introduces two caches, svc_export_cache (nfsd.exports) and
      svc_expkey_cache (nfsd.fh).
      nfsd.exports maps client+directory  ->  export options.
      nfsd.fh maps client + filehandle-fragment -> directory.
      
      A major part of this change is that export entries are now reference counted,
      so we have to be careful  to keep those counts correct.
      85d18365
    • Neil Brown's avatar
    • Neil Brown's avatar
    • Neil Brown's avatar
      [PATCH] kNFSd: Move auth domain lookup into svcauth · 00ef0ed7
      Neil Brown authored
      Instead of doing the lookup from ipaddr to domain inside
      the nfs server, (and also when lockd calls into nfsd) it is
      now done at the rpc authentication level which is a more
      sensible place for it.
      
      Note that both AUTH_UNIX and AUTH_NULL do the same lookup.
      
      So that the rpc layer knows that nfsd and lockd both uses the
      name space of domains (while other hypothetical services may
      not) we introduce a 'class' for each service which svc_auth combines
      with the IP address when doing a lookup.
      00ef0ed7
    • Neil Brown's avatar
      [PATCH] kNFSd: Use new cache infrastructure for auth_unix specific lookups. · 624361e4
      Neil Brown authored
      This patch introduces two caches using the new infrastucture, and the
      concept of a 'domain'.
      
      A 'domain' refers to a collection of clients that all have the same
      view of the nfs server, and all have the same access rights (modulo
      different users on the clients).  For AUTH_UNIX (and AUTH_NULL), the
      domain is determined from the IP address.  For other authentication
      styles, the domain might be determined directly from the credentials.
      
      Each auth flavour knows how to allocate and free it's domain-specific
      infomation.
      
      auth_domain_cache maps a name to a domain which is owned by
      an auth flavour.
      
      ip_map_cache is a cache specific to AUTH_UNIX which maps
      IP address to domain.
      
      With this patch, svcauth_unix.c is created to store all
      auth_unix related code.
      
      The IP address lookup code is removed from nfsd/exports.c
      
      sunrpc module initilisation is moved out of stats.c into sunrpc_syms
      which seemed to be the most central .c file.  It now registers these
      two caches.
      
      Now that the caches are being used, nfsd needs to call cache_clean
      periodically.
      624361e4
    • Neil Brown's avatar
      [PATCH] kNFSd: Initialial caching infrastructure for RPC authentication caches · f00a9f4d
      Neil Brown authored
      This patch provides a "virtual class" for defining caches
      that make user-space information available in the kernel
      It is intended for RPC services or clients that need user-space
      support for authentication.
      
      As yet, support for userspace interaction isn't included as I want
      that to be able to have separate review.
      f00a9f4d
    • Neil Brown's avatar
      [PATCH] kNFSd: Tidy up the rpc authentication interface. · 7b1c5134
      Neil Brown authored
      Define auth_ops that contains a method for authenticating a request and a
      method for authorising a reply.  Call both methods as appropriate.
      
      Also discard rq_verfed and cr_flavour, neither ever used.
      And discard rq_auth as it isn't needed.
      7b1c5134