Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 10 Jan 2010 19:50:24 +0000 (UTC)
From:      Warner Losh <imp@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/sys/mips/include _align.h _bus.h _types.h asm.h atomic.h bus.h cache.h cache_mipsNN.h cpu.h cpufunc.h cpuinfo.h cpuregs.h db_machdep.h elf.h endian.h float.h hwfunc.h intr_machdep.h kdb.h locore.h md_var.h param.h pcb.h pmap.h proc.h ...
Message-ID:  <201001101950.o0AJoWLw009482@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
imp         2010-01-10 19:50:24 UTC

  FreeBSD src repository

  Modified files:
    sys/mips/include     _align.h _bus.h _types.h asm.h atomic.h 
                         bus.h cache.h cache_mipsNN.h cpu.h 
                         cpufunc.h cpuinfo.h cpuregs.h 
                         db_machdep.h elf.h endian.h float.h 
                         hwfunc.h intr_machdep.h kdb.h locore.h 
                         md_var.h param.h pcb.h pmap.h proc.h 
                         profile.h psl.h pte.h regdef.h regnum.h 
                         trap.h ucontext.h 
  Log:
  SVN rev 202031 on 2010-01-10 19:50:24Z by imp
  
  Merge from projects/mips to head by hand:
  
  r201881 | imp | 2010-01-08 20:08:22 -0700 (Fri, 08 Jan 2010) | 3 lines
  Rename mips_pcpu_init to mips_pcpu0_init since it applies only to the
  BSP.  Provide a missing prototype.
  
  r200343 | imp | 2009-12-09 18:44:11 -0700 (Wed, 09 Dec 2009) | 4 lines
  Get the sense of this right.  We use uintpr_t for bus_addr_t when
  we're building everything except octeon && 32-bit.  As note before, we
  need a clearner way, but at least now the hack is right.
  
  r199760 | imp | 2009-11-24 10:15:22 -0700 (Tue, 24 Nov 2009) | 2 lines
  Add in Cavium's CID.  Report what the unknown CID is.
  
  r199754 | imp | 2009-11-24 09:32:31 -0700 (Tue, 24 Nov 2009) | 6 lines
  Include opt_cputype.h for all .c and .S files referencing TARGET_OCTEON.
  Spell ld script name right.
  
  r199599 | imp | 2009-11-20 09:32:26 -0700 (Fri, 20 Nov 2009) | 2 lines
  Another kludge for 64-bit bus_addr_t with 32-bit pointers...
  
  r199496 | gonzo | 2009-11-18 15:52:05 -0700 (Wed, 18 Nov 2009) | 5 lines
  - Add cpu_init_interrupts function that is supposed to
      prepeare stuff required for spinning out interrupts later
  - Add API for managing intrcnt/intrnames arrays
  - Some minor style(9) fixes
  
  r198958 | rrs | 2009-11-05 11:15:47 -0700 (Thu, 05 Nov 2009) | 2 lines
  For XLR adds extern for its bus space routines
  
  r198669 | rrs | 2009-10-30 02:53:11 -0600 (Fri, 30 Oct 2009) | 5 lines
  With this commit our friend RMI will now compile. I have
  not tested it and the chances of it running yet are about
  ZERO.. but it will now compile. The hard part now begins,
   making it run ;-)
  
  r198666 | imp | 2009-10-29 18:37:50 -0600 (Thu, 29 Oct 2009) | 2 lines
  Add some newer MIPS CO cores.
  
  r198665 | imp | 2009-10-29 18:37:04 -0600 (Thu, 29 Oct 2009) | 4 lines
  db_expr_t is really closer to a register_t.
  Submitted by:   bde@
  
  r198531 | gonzo | 2009-10-27 18:01:20 -0600 (Tue, 27 Oct 2009) | 3 lines
  - Remove bunch of declared but not defined cach-related variables
  - Add mips_picache_linesize and mips_pdcache_linesize variables
  
  r198354 | neel | 2009-10-21 20:51:31 -0600 (Wed, 21 Oct 2009) | 9 lines
  Get rid of the hardcoded constants to define cacheable memory:
  SDRAM_ADDR_START, SDRAM_ADDR_END and SDRAM_MEM_SIZE
  
  Instead we now keep a copy of the memory regions enumerated by
  platform-specific code and use that to determine whether an address
  is cacheable or not.
  
  r198310 | gonzo | 2009-10-20 17:13:08 -0600 (Tue, 20 Oct 2009) | 5 lines
  - Commit missing part of "bt" fix: store PC register in pcb_context struct
      in cpu_switch and use it in stack_trace function later. pcb_regs contains
      state of the process stored by exception handler and therefor is not
      valid for sleeping processes.
  
  r198207 | imp | 2009-10-18 08:57:04 -0600 (Sun, 18 Oct 2009) | 2 lines
  Undo spamage of last MFC.
  
  r198206 | imp | 2009-10-18 08:56:33 -0600 (Sun, 18 Oct 2009) | 3 lines
  _ALIGN has to return u_long, since pointers don't fit into u_int in
  64-bit mips.
  
  r198182 | gonzo | 2009-10-16 18:22:07 -0600 (Fri, 16 Oct 2009) | 11 lines
  - Use PC/RA/SP values as arguments for stacktrace_subr instead of trapframe.
      Context info could be obtained from other sources (see below) no only from
      td_pcb field
  - Do not show a0..a3 values unless they're obtained from the stack. These
      are only confirmed values.
  - Fix bt command in DDB. Previous implementation used thread's trapframe
      structure as a source info for trace unwinding, but this structure
      is filled only when exception occurs. Valid register values for sleeping
      processes are in pcb_context array. For curthread use pc/sp/ra for current
      frame
  
  r198181 | gonzo | 2009-10-16 16:52:18 -0600 (Fri, 16 Oct 2009) | 2 lines
  - Get rid of label_t. It came from NetBSD and was used only in one place
  
  r198154 | rrs | 2009-10-15 15:03:32 -0600 (Thu, 15 Oct 2009) | 10 lines
  
  Does 4 things:
  1) Adds future RMI directories
  2) Places intr_machdep.c in specfic files.arch pointing to the generic
     intr_machdep.c.  This allows us to have an architecture dependant
     intr_machdep.c (which we will need for RMI) in the machine specific
     directory
  3) removes intr_machdep.c from files.mips
  4) Adds some TARGET_XLR_XLS ifdef's for the machine specific intra_machdep.h. We
     may need to look at finding a better place to put this. But first I want to
     get this thing compiling.
  
  r198066 | gonzo | 2009-10-13 19:43:53 -0600 (Tue, 13 Oct 2009) | 5 lines
  - Move stack tracing function to db_trace.c
  - Axe unused extern MipsXXX declarations
  - Move all declarations for functions in exceptions.S/swtch.S
      from trap.c to respective headers
  
  r197685 | gonzo | 2009-10-01 14:05:36 -0600 (Thu, 01 Oct 2009) | 2 lines
  - Sync caches properly when dealing with sf_buf
  
  r196215 | imp | 2009-08-14 10:15:18 -0600 (Fri, 14 Aug 2009) | 6 lines
  (u_int) is the wrong type here.  Use unsigned long instead, even
  though that's only less wrong...
  
  r196199 | imp | 2009-08-13 13:47:13 -0600 (Thu, 13 Aug 2009) | 7 lines
  Use unsigned long instead of unsigned for the integer casts here.  The
  former works for both ILP32 and LP64 programming models, while the
  latter fails LP64.
  
  r196089 | gonzo | 2009-08-09 19:49:59 -0600 (Sun, 09 Aug 2009) | 4 lines
  - Make i/d cache size field 32-bit to prevent overflow
  Submited by: Neelkanth Natu
  
  r195582 | imp | 2009-07-10 13:07:07 -0600 (Fri, 10 Jul 2009) | 2 lines
  fix prototype for MipsEmulateBranch.
  
  r195581 | imp | 2009-07-10 13:06:43 -0600 (Fri, 10 Jul 2009) | 2 lines
  Better definitions for a few types for n32/n64.
  
  r195580 | imp | 2009-07-10 13:06:15 -0600 (Fri, 10 Jul 2009) | 5 lines
  Fixed aligned macros...
  
  r195478 | gonzo | 2009-07-08 16:28:36 -0600 (Wed, 08 Jul 2009) | 5 lines
  - Port busdma code from FreeBSD/arm. This is more mature version
      that takes into account all limitation to DMA memory (boundaries,
      alignment) and implements bounce pages.
  - Add BUS_DMASYNC_POSTREAD case to bus_dmamap_sync_buf
  
  r195440 | imp | 2009-07-08 00:01:37 -0600 (Wed, 08 Jul 2009) | 2 lines
  Fix atomic_store_64 prototype for 64-bit systems.
  
  r195392 | imp | 2009-07-05 20:27:03 -0600 (Sun, 05 Jul 2009) | 3 lines
  The MCOUNT macro isn't going to work in 64-bit mode.  Add a note to
  this effect.
  
  r195391 | imp | 2009-07-05 20:22:51 -0600 (Sun, 05 Jul 2009) | 3 lines
  Provide a macro for PTR_ADDU as well.  We may need to implement this
  differently for N32...  Use PTR_ADDU in DO_AST macro.
  
  r195390 | imp | 2009-07-05 20:22:06 -0600 (Sun, 05 Jul 2009) | 4 lines
  Change the addu here to daddu.
  addu paranoina prodded by: jmallet@
  
  r195382 | imp | 2009-07-05 15:16:26 -0600 (Sun, 05 Jul 2009) | 5 lines
  addu and subu are special.  We need to use daddu and dsubu here to get
  proper behavior.
  Submitted by:   jmallet@
  
  r195370 | imp | 2009-07-05 09:20:16 -0600 (Sun, 05 Jul 2009) | 6 lines
  The SB1 has cohernet memory, so add it.
  Also, Maxmem is better as a long.
  Submitted by:   Neelkanth Natu
  
  r195369 | imp | 2009-07-05 09:19:28 -0600 (Sun, 05 Jul 2009) | 4 lines
  The SB1 needs a special value for the cache field of the pte.
  Submitted by:   Neelkanth Natu
  
  r195368 | imp | 2009-07-05 09:18:06 -0600 (Sun, 05 Jul 2009) | 2 lines
  compute the areas to save registers in for 64-bit access correctly.
  
  r195367 | imp | 2009-07-05 09:17:11 -0600 (Sun, 05 Jul 2009) | 3 lines
  First cut at 64-bit types.  not 100% sure these are all correct for
  N32 ABI.
  
  r195366 | imp | 2009-07-05 09:16:27 -0600 (Sun, 05 Jul 2009) | 3 lines
  Trim unreferenced goo.  SDRAM likely should be next, but it is still
  referenced.
  
  r195365 | imp | 2009-07-05 09:13:24 -0600 (Sun, 05 Jul 2009) | 9 lines
  
  First cut at atomics for 64-bit machines and SMP machines.
  # Note: Cavium provided a port that has atomics similar to these, but
  # that does a syncw; sync; atomic; sync; syncw where we just do the classic
  # mips 'atomic' operation (eg ll; frob; sc).  It is unclear to me why
  # the extra is needed.  Since my initial target is one core, I'll defer
  # investigation until I bring up multiple cores.  syncw is an octeon specific
  # instruction.
  
  r195359 | imp | 2009-07-05 02:14:00 -0600 (Sun, 05 Jul 2009) | 4 lines
  Bring in cdefs.h from NetBSD to define ABI goo.
  Obtained from:  NetBSD
  
  r195358 | imp | 2009-07-05 02:13:19 -0600 (Sun, 05 Jul 2009) | 4 lines
  Pull in machine/cdefs.h for the ABI definitions.  Provide a PTR_LA,
  ala sgi, and use it in preference to a bare 'la' so that it gets
  translated to a 'dla' for the 64-bit pointer ABIs.
  
  r195357 | imp | 2009-07-05 01:01:34 -0600 (Sun, 05 Jul 2009) | 2 lines
  Use uintptr_t rather than unsigned here for 64-bit correctness.
  
  r195356 | imp | 2009-07-05 01:00:51 -0600 (Sun, 05 Jul 2009) | 6 lines
  Define __ELF_WORD_SIZE appropriately for n64.  Note for N32 I believe
  this is correct.  While registers are 64-bit, n32 is a 32-bit ABI and
  lives in a 32-bit world (with explicit 64-bit registers, however).
  Change an 8, which was 4 + 4 or sizeof(int) + SZREG to be a simple '4
  + SZREG' to reflect the actual offset of the structure in question.
  
  r195355 | imp | 2009-07-05 00:56:51 -0600 (Sun, 05 Jul 2009) | 7 lines
  (1) Use uintptr_t in preference to unsigned.  The latter isn't right for
  64-bit case, while the former is.
  (2) include a SB1 specific coherency mapping
  Submitted by:   Neelkanth Nath (2)
  
  r195352 | imp | 2009-07-05 00:44:37 -0600 (Sun, 05 Jul 2009) | 3 lines
  db_expr_t should be a intptr_t, not an int.  These expressions can be
  addresses or numbers, and that's a intptr_t if I ever saw one.
  
  r195351 | imp | 2009-07-05 00:43:01 -0600 (Sun, 05 Jul 2009) | 4 lines
  Define COP0_SYNC for SB1 CPU.
  Submitted by:   Neelkanth Natu
  
  r195350 | imp | 2009-07-05 00:39:37 -0600 (Sun, 05 Jul 2009) | 7 lines
  Switch to ABI agnostic ta0-ta3.  Provide defs for this in the right
  places.  Provide n32/n64 register name defintions.  This should have
  no effect for the O32 builds that everybody else uses, but should help
  make N64 builds possible (lots of other changes are needed for that).
  Obtained from:  NetBSD (for the regdef.h changes)
  
  r195128 | gonzo | 2009-06-27 17:27:41 -0600 (Sat, 27 Jun 2009) | 4 lines
  - Add support for handling TLS area address in kernel space.
      From the userland point of view get/set operations are
      performed using sysarch(2) call.
  
  r195076 | gonzo | 2009-06-26 13:54:06 -0600 (Fri, 26 Jun 2009) | 2 lines
  - Add guards to ensure that these files are included only once
  
  r194469 | gonzo | 2009-06-18 22:43:49 -0600 (Thu, 18 Jun 2009) | 16 lines
  - Mark temp variable as "earlyclobber" in assembler inline in
      atomic_fetchadd_32.  Without it gcc would use it as input
      register for v and sometimes generate following code for
      function call like atomic_fetchadd_32(&(fp)->f_count, -1):
  801238b4:       2402ffff        li      v0,-1
  801238b8:       c2230018        ll      v1,24(s1)
  801238bc:       00431021        addu    v0,v0,v1
  801238c0:       e2220018        sc      v0,24(s1)
  801238c4:       1040fffc        beqz    v0,801238b8 <dupfdopen+0x2e8>
  801238c8:       00000000        nop
     Which is definitly wrong because if sc fails v0 is set to 0
     and previous value of -1 is overriden hence whole operation
     turns to bogus
  
  r194164 | imp | 2009-06-14 00:14:25 -0600 (Sun, 14 Jun 2009) | 3 lines
  bye bye.  This is no longer referenced, but much code from it will
  resurface for a bus-space implementation.
  
  r194160 | imp | 2009-06-14 00:10:36 -0600 (Sun, 14 Jun 2009) | 3 lines
  Cavium-specific goo is no longer necessary here.  Of course, I now
  have to write a bus space for cavium, but that shouldn't be too hard.
  
  r194157 | imp | 2009-06-14 00:01:46 -0600 (Sun, 14 Jun 2009) | 2 lines
  Move this to a more approrpiate plae.
  
  r194156 | imp | 2009-06-13 23:29:13 -0600 (Sat, 13 Jun 2009) | 2 lines
  Bring this in from the cavium port.
  
  r193487 | gonzo | 2009-06-05 02:37:11 -0600 (Fri, 05 Jun 2009) | 2 lines
  - Use restoreintr instead of enableint while accessing pcpu in DO_AST
  
  r192864 | gonzo | 2009-05-26 16:40:12 -0600 (Tue, 26 May 2009) | 4 lines
  - Replace CPU_NOFPU and SOFTFLOAT options with CPU_FPU. By default
     we assume that there is no FPU, because majority of SoC does
     not have it.
  
  r192817 | gonzo | 2009-05-26 10:35:05 -0600 (Tue, 26 May 2009) | 2 lines
  - Add type cast for atomic_cmpset_acq_ptr arguments
  
  r192792 | gonzo | 2009-05-26 00:01:17 -0600 (Tue, 26 May 2009) | 2 lines
  - Remove now unused NetBSDism intr.h
  
  r192177 | gonzo | 2009-05-15 20:39:13 -0600 (Fri, 15 May 2009) | 4 lines
  - Add MIPS_IS_KSEG0_ADDR, MIPS_IS_KSEG1_ADDR and MIPS_IS_VALID_PTR
      macroses thet check if address belongs to KSEG0, KSEG1 or both
      of them respectively.
  
  r191589 | gonzo | 2009-04-27 13:18:55 -0600 (Mon, 27 Apr 2009) | 3 lines
  - Cast argument to proper type in order to avoid warnings like
      "shift value is too large for given type"
  
  r191577 | gonzo | 2009-04-27 12:29:59 -0600 (Mon, 27 Apr 2009) | 4 lines
  - Use naming convention the same as MIPS spec does: eliminate _sel1 sufix
    and just use selector number. e.g. mips_rd_config_sel1 -> mips_rd_config1
  - Add WatchHi/WatchLo accessors for selctors 1..3 (for debug purposes)
  
  r191451 | gonzo | 2009-04-23 22:17:21 -0600 (Thu, 23 Apr 2009) | 4 lines
  - Define accessor functions for CP0 Config(16) register selects 1, 2, 3.
      Content of these registers is defined in MIPS spec and can be used
      for obtaining info about CPU capabilities.
  
  r191282 | gonzo | 2009-04-19 16:02:14 -0600 (Sun, 19 Apr 2009) | 3 lines
  - Make mips_bus_space_generic be of type bus_space_tag_t instead of
      struct bus_space and update all relevant places.
  
  r191084 | gonzo | 2009-04-14 20:28:26 -0600 (Tue, 14 Apr 2009) | 6 lines
  Use FreeBSD/arm approach for handling bus space access: space tag is a pointer
  to bus_space structure that defines access methods and hence every bus can
  define own accessors. Default space is mips_bus_space_generic. It's a simple
  interface to physical memory, values are read with regard to host system
  byte order.
  
  Revision  Changes    Path
  1.2       +2 -2      src/sys/mips/include/_align.h
  1.2       +7 -6      src/sys/mips/include/_bus.h
  1.2       +10 -11    src/sys/mips/include/_types.h
  1.2       +13 -6     src/sys/mips/include/asm.h
  1.3       +234 -46   src/sys/mips/include/atomic.h
  1.3       +4 -5      src/sys/mips/include/bus.h
  1.2       +6 -44     src/sys/mips/include/cache.h
  1.2       +4 -0      src/sys/mips/include/cache_mipsNN.h
  1.2       +22 -9     src/sys/mips/include/cpu.h
  1.2       +38 -17    src/sys/mips/include/cpufunc.h
  1.2       +2 -2      src/sys/mips/include/cpuinfo.h
  1.2       +6 -0      src/sys/mips/include/cpuregs.h
  1.2       +3 -2      src/sys/mips/include/db_machdep.h
  1.6       +4 -0      src/sys/mips/include/elf.h
  1.2       +6 -6      src/sys/mips/include/endian.h
  1.3       +3 -3      src/sys/mips/include/float.h
  1.2       +9 -1      src/sys/mips/include/hwfunc.h
  1.2       +35 -2     src/sys/mips/include/intr_machdep.h
  1.2       +4 -0      src/sys/mips/include/kdb.h
  1.2       +1 -0      src/sys/mips/include/locore.h
  1.2       +9 -3      src/sys/mips/include/md_var.h
  1.9       +5 -5      src/sys/mips/include/param.h
  1.3       +2 -1      src/sys/mips/include/pcb.h
  1.9       +16 -1     src/sys/mips/include/pmap.h
  1.2       +1 -0      src/sys/mips/include/proc.h
  1.2       +2 -0      src/sys/mips/include/profile.h
  1.2       +0 -4      src/sys/mips/include/psl.h
  1.3       +4 -0      src/sys/mips/include/pte.h
  1.2       +33 -0     src/sys/mips/include/regdef.h
  1.2       +5 -6      src/sys/mips/include/regnum.h
  1.2       +12 -0     src/sys/mips/include/trap.h
  1.2       +6 -1      src/sys/mips/include/ucontext.h



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201001101950.o0AJoWLw009482>