[BACK]Return to bus_space.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / arch / powerpc / powerpc

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/arch/powerpc/powerpc/bus_space.c between version 1.12 and 1.12.16.1

version 1.12, 2007/04/09 17:43:40 version 1.12.16.1, 2007/10/18 08:32:47
Line 499  bus_space_mallocok(void)
Line 499  bus_space_mallocok(void)
 paddr_t  paddr_t
 memio_mmap(bus_space_tag_t t, bus_addr_t bpa, off_t offset, int prot, int flags)  memio_mmap(bus_space_tag_t t, bus_addr_t bpa, off_t offset, int prot, int flags)
 {  {
         return (trunc_page(bpa + offset));          paddr_t ret;
           /* XXX what about stride? */
           ret = trunc_page(t->pbs_offset + bpa + offset);
   #ifdef DEBUG
           if (ret == 0) {
                   printf("%s: [%08x, %08x %08x] mmaps to 0?!\n", __func__,
                       (uint32_t)t->pbs_offset, (uint32_t)bpa, (uint32_t)offset);
                   return -1;
           }
   #endif
           return ret;
 }  }
   
 int  int
Line 510  memio_map(bus_space_tag_t t, bus_addr_t 
Line 520  memio_map(bus_space_tag_t t, bus_addr_t 
         paddr_t pa;          paddr_t pa;
   
         size = _BUS_SPACE_STRIDE(t, size);          size = _BUS_SPACE_STRIDE(t, size);
           bpa = _BUS_SPACE_STRIDE(t, bpa);
   
         if (bpa + size > t->pbs_limit) {          if (bpa + size > t->pbs_limit) {
 #ifdef DEBUG  #ifdef DEBUG
                 printf("bus_space_map(%p[%x:%x], %#x, %#x) failed: EINVAL\n",                  printf("bus_space_map(%p[%x:%x], %#x, %#x) failed: EINVAL\n",
                     t, t->pbs_base, t->pbs_limit, bpa, size);                      t, t->pbs_base, t->pbs_limit, bpa, size);
   
 #endif  #endif
                 return (EINVAL);                  return (EINVAL);
         }          }
Line 523  memio_map(bus_space_tag_t t, bus_addr_t 
Line 535  memio_map(bus_space_tag_t t, bus_addr_t 
          * Can't map I/O space as linear.           * Can't map I/O space as linear.
          */           */
         if ((flags & BUS_SPACE_MAP_LINEAR) &&          if ((flags & BUS_SPACE_MAP_LINEAR) &&
             (t->pbs_flags & _BUS_SPACE_IO_TYPE))              (t->pbs_flags & _BUS_SPACE_IO_TYPE)) {
                 return (EOPNOTSUPP);                  return (EOPNOTSUPP);
           }
   
 #ifdef PPC_IBM4XX  #ifdef PPC_IBM4XX
         /*          /*
Line 662  memio_alloc(bus_space_tag_t t, bus_addr_
Line 675  memio_alloc(bus_space_tag_t t, bus_addr_
         int error;          int error;
   
         size = _BUS_SPACE_STRIDE(t, size);          size = _BUS_SPACE_STRIDE(t, size);
           rstart = _BUS_SPACE_STRIDE(t, rstart);
   
         if (rstart + size > t->pbs_limit)          if (rstart + size > t->pbs_limit)
                 return (EINVAL);                  return (EINVAL);

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.12.16.1

CVSweb <webmaster@jp.NetBSD.org>