On 01.11.2018 12:34, Izumi Tsutsui wrote: > jmcneill@ wrote: > >> On Wed, 31 Oct 2018, Taylor R Campbell wrote: >> >>> For the moment, as a provisional workaround to make progress, you can >>> probably get by with `pa << PGSHIFT', where pa is the physical (byte) >> >> I think this should be `pa >> PGSHIFT`, or even better use `atop(pa)`. > > Some MACHINE_ARCHs use paddr_t for an mmap cookie: > > https://nxr.netbsd.org/xref/src/sys/dev/usb/udl.c?r=1.22#675 > --- > 675 /* XXX we need MI paddr_t -> mmap cookie API */ > 676 #if defined(__aarch64__) > 677 #define PTOMMAP(paddr) aarch64_btop((char *)paddr) > 678 #elif defined(__alpha__) > 679 #define PTOMMAP(paddr) alpha_btop((char *)paddr) > 680 #elif defined(__arm__) > 681 #define PTOMMAP(paddr) arm_btop((u_long)paddr) > 682 #elif defined(__hppa__) > 683 #define PTOMMAP(paddr) btop((u_long)paddr) > 684 #elif defined(__i386__) || defined(__x86_64__) > 685 #define PTOMMAP(paddr) x86_btop(paddr) > 686 #elif defined(__m68k__) > 687 #define PTOMMAP(paddr) m68k_btop((char *)paddr) > 688 #elif defined(__mips__) > 689 #define PTOMMAP(paddr) mips_btop(paddr) > 690 #elif defined(__powerpc__) > 691 #define PTOMMAP(paddr) (paddr) > 692 #elif defined(__sh__) > 693 #define PTOMMAP(paddr) sh3_btop(paddr) > 694 #elif defined(__sparc__) This should be defined(__sparc__) && !defined(__sparc64__) otherwise both SPARC ABIs reuse this variation. > 695 #define PTOMMAP(paddr) (paddr) > 696 #elif defined(__sparc64__) > 697 #define PTOMMAP(paddr) atop(paddr) > 698 #elif defined(__vax__) > 699 #define PTOMMAP(paddr) btop((u_int)paddr) > 700 #endif > 701 > 702 return PTOMMAP(paddr); > --- > Izumi Tsutsui >
Attachment:
signature.asc
Description: OpenPGP digital signature