Lines Matching refs:addr
336 * @param addr Address of base of memory region to read into L2 cache
339 static void fault_in(uint64_t addr, int len)
344 * Adjust addr and length so we get all cache lines even for
347 len += addr & CVMX_CACHE_LINE_MASK;
348 addr &= ~CVMX_CACHE_LINE_MASK;
349 ptr = (volatile char *)cvmx_phys_to_ptr(addr);
362 int cvmx_l2c_lock_line(uint64_t addr)
367 uint32_t tag = cvmx_l2c_v2_address_to_tag(addr);
368 uint64_t indext = cvmx_l2c_address_to_index(addr) << CVMX_L2C_IDX_ADDR_SHIFT;
375 cvmx_dprintf("ERROR: cvmx_l2c_lock_line: addr 0x%llx in LMC hole."
376 "\n", (unsigned long long) addr);
380 tad = cvmx_l2c_address_to_tad(addr);
383 CVMX_CACHE_LCKL2(CVMX_ADD_SEG(CVMX_MIPS_SPACE_XKPHYS, addr), 0);
401 " 0x%llx address\n", (unsigned long long)addr); */
408 "0x%llx address\n", (unsigned long long)addr); */
431 addr &= ~CVMX_CACHE_LINE_MASK;
445 uint64_t addr_tmp = addr ^ (addr & ((1 << alias_shift) - 1)) >> cvmx_l2c_get_set_bits();
448 lckbase.s.lck_base = addr >> 7;
456 fault_in(addr, CVMX_CACHE_LINE_SIZE);
542 if (tag.s.V && (tag.s.addr == tag_addr)) {
559 if (tag.s.V && (tag.s.addr == tag_addr)) {
597 uint64_t addr:20; /* Phys mem addr (33..14) */
605 uint64_t addr:19; /* Phys mem addr (33..15) */
613 uint64_t addr:18; /* Phys mem addr (33..16) */
621 uint64_t addr:17; /* Phys mem addr (33..17) */
629 uint64_t addr:16; /* Phys mem addr (33..18) */
633 uint64_t addr:20; /* Phys mem addr (33..14) */
641 uint64_t addr:19; /* Phys mem addr (33..15) */
649 uint64_t addr:18; /* Phys mem addr (33..16) */
657 uint64_t addr:17; /* Phys mem addr (33..17) */
665 uint64_t addr:16; /* Phys mem addr (33..18) */
787 tag.s.addr = l2c_tadx_tag.s.tag;
802 tag.s.addr = tmp_tag.cn58xx.addr;
808 tag.s.addr = tmp_tag.cn38xx.addr;
814 tag.s.addr = tmp_tag.cn31xx.addr;
820 tag.s.addr = tmp_tag.cn30xx.addr;
826 tag.s.addr = tmp_tag.cn50xx.addr;
872 tag.s.addr = l2c_tadx_tag.s.tag;
887 tag.s.addr = tmp_tag.cn58xx.addr;
893 tag.s.addr = tmp_tag.cn38xx.addr;
899 tag.s.addr = tmp_tag.cn31xx.addr;
905 tag.s.addr = tmp_tag.cn30xx.addr;
911 tag.s.addr = tmp_tag.cn50xx.addr;
920 int cvmx_l2c_address_to_tad(uint64_t addr)
927 tad = ((addr >> 7) ^ (addr >> 12) ^ (addr >> 18)) & 3;
929 tad = (addr >> 7) & 3;
937 uint32_t cvmx_l2c_v2_address_to_tag(uint64_t addr)
943 if ( (addr > DR0_END) && (addr < DR1_START) ) return (uint32_t) (-1);
944 if (addr > DR1_START) addr = addr - L2_HOLE ;
945 addr = addr & 0x7FFFFFFFFULL;
946 return (uint32_t )(addr >> CVMX_L2C_TAG_ADDR_ALIAS_SHIFT);
949 uint32_t cvmx_l2c_address_to_index(uint64_t addr)
951 uint64_t idx = addr >> CVMX_L2C_IDX_ADDR_SHIFT;
975 idx ^= ((addr & CVMX_L2C_ALIAS_MASK) >> CVMX_L2C_TAG_ADDR_ALIAS_SHIFT);