Lines Matching defs:val

266 	u32 val;
269 "csrrd %[val], %[reg] \n"
270 : [val] "=r" (val)
273 return val;
278 u64 val;
281 "csrrd %[val], %[reg] \n"
282 : [val] "=r" (val)
285 return val;
288 static inline void kvm_csr_writel(u32 val, u32 reg)
291 "csrwr %[val], %[reg] \n"
292 : [val] "+r" (val)
297 static inline void kvm_csr_writeq(u64 val, u32 reg)
300 "csrwr %[val], %[reg] \n"
301 : [val] "+r" (val)
306 static inline u32 kvm_csr_xchgl(u32 val, u32 mask, u32 reg)
309 "csrxchg %[val], %[mask], %[reg] \n"
310 : [val] "+r" (val)
313 return val;
316 static inline u64 kvm_csr_xchgq(u64 val, u64 mask, u32 reg)
319 "csrxchg %[val], %[mask], %[reg] \n"
320 : [val] "+r" (val)
323 return val;
330 u32 val;
333 "iocsrrd.w %[val], %[reg] \n"
334 : [val] "=r" (val)
337 return val;
342 u64 val;
345 "iocsrrd.d %[val], %[reg] \n"
346 : [val] "=r" (val)
349 return val;
352 static inline void kvm_iocsr_writeb(u8 val, u32 reg)
355 "iocsrwr.b %[val], %[reg] \n"
357 : [val] "r" (val), [reg] "r" (reg)
361 static inline void kvm_iocsr_writel(u32 val, u32 reg)
364 "iocsrwr.w %[val], %[reg] \n"
366 : [val] "r" (val), [reg] "r" (reg)
370 static inline void kvm_iocsr_writeq(u64 val, u32 reg)
373 "iocsrwr.d %[val], %[reg] \n"
375 : [val] "r" (val), [reg] "r" (reg)
383 u64 val = 0;
386 "parse_r __reg, %[val] \n"
388 : [val] "+r" (val)
391 return val;
394 static inline void kvm_gcsr_write(u64 val, u32 reg)
397 "parse_r __reg, %[val] \n"
399 : [val] "+r" (val)
404 static inline u64 kvm_gcsr_xchg(u64 val, u64 mask, u32 reg)
407 "parse_r __rd, %[val] \n"
410 : [val] "+r" (val)
413 return val;
419 #define kvm_write_csr_euen(val) kvm_csr_writeq(val, KVM_CSR_EUEN)
421 #define kvm_write_csr_ecfg(val) kvm_csr_writeq(val, KVM_CSR_ECFG)
422 #define kvm_write_csr_perfctrl0(val) kvm_csr_writeq(val, KVM_CSR_PERFCTRL0)
423 #define kvm_write_csr_perfcntr0(val) kvm_csr_writeq(val, LOONGARCH_CSR_PERFCNTR0)
424 #define kvm_write_csr_perfctrl1(val) kvm_csr_writeq(val, LOONGARCH_CSR_PERFCTRL1)
425 #define kvm_write_csr_perfcntr1(val) kvm_csr_writeq(val, LOONGARCH_CSR_PERFCNTR1)
426 #define kvm_write_csr_perfctrl2(val) kvm_csr_writeq(val, LOONGARCH_CSR_PERFCTRL2)
427 #define kvm_write_csr_perfcntr2(val) kvm_csr_writeq(val, LOONGARCH_CSR_PERFCNTR2)
428 #define kvm_write_csr_perfctrl3(val) kvm_csr_writeq(val, LOONGARCH_CSR_PERFCTRL3)
429 #define kvm_write_csr_perfcntr3(val) kvm_csr_writeq(val, LOONGARCH_CSR_PERFCNTR3)
431 #define kvm_write_csr_impctl1(val) kvm_csr_writeq(val, LOONGARCH_CSR_IMPCTL1)
436 #define kvm_write_csr_gtlbc(val) kvm_csr_writeq(val, KVM_CSR_GTLBC)
439 #define kvm_write_csr_gcfg(val) kvm_csr_writeq(val, KVM_CSR_GCFG)
441 #define kvm_write_csr_gstat(val) kvm_csr_writeq(val, KVM_CSR_GSTAT)
443 #define kvm_write_csr_gintc(val) kvm_csr_writeq(val, KVM_CSR_GINTC)
445 #define kvm_write_csr_gcntc(val) kvm_csr_writeq(val, KVM_CSR_GCNTC)
449 #define kvm_write_gcsr_crmd(val) kvm_gcsr_write(val, KVM_CSR_CRMD)
451 #define kvm_write_gcsr_prmd(val) kvm_gcsr_write(val, KVM_CSR_PRMD)
453 #define kvm_write_gcsr_euen(val) kvm_gcsr_write(val, KVM_CSR_EUEN)
455 #define kvm_write_gcsr_misc(val) kvm_gcsr_write(val, KVM_CSR_MISC)
457 #define kvm_write_gcsr_ecfg(val) kvm_gcsr_write(val, KVM_CSR_ECFG)
459 #define kvm_write_gcsr_estat(val) kvm_gcsr_write(val, KVM_CSR_ESTAT)
461 #define kvm_write_gcsr_era(val) kvm_gcsr_write(val, KVM_CSR_ERA)
463 #define kvm_write_gcsr_badv(val) kvm_gcsr_write(val, KVM_CSR_BADV)
465 #define kvm_write_gcsr_badi(val) kvm_gcsr_write(val, KVM_CSR_BADI)
467 #define kvm_write_gcsr_eentry(val) kvm_gcsr_write(val, KVM_CSR_EENTRY)
470 #define kvm_write_gcsr_tlbidx(val) kvm_gcsr_write(val, KVM_CSR_TLBIDX)
472 #define kvm_write_gcsr_tlbhi(val) kvm_gcsr_write(val, KVM_CSR_TLBEHI)
474 #define kvm_write_gcsr_tlblo0(val) kvm_gcsr_write(val, KVM_CSR_TLBELO0)
476 #define kvm_write_gcsr_tlblo1(val) kvm_gcsr_write(val, KVM_CSR_TLBELO1)
479 #define kvm_write_gcsr_asid(val) kvm_gcsr_write(val, KVM_CSR_ASID)
481 #define kvm_write_gcsr_pgdl(val) kvm_gcsr_write(val, KVM_CSR_PGDL)
483 #define kvm_write_gcsr_pgdh(val) kvm_gcsr_write(val, KVM_CSR_PGDH)
484 #define kvm_write_gcsr_pgd(val) kvm_gcsr_write(val, KVM_CSR_PGD)
487 #define kvm_write_gcsr_pwctl0(val) kvm_gcsr_write(val, KVM_CSR_PWCTL0)
489 #define kvm_write_gcsr_pwctl1(val) kvm_gcsr_write(val, KVM_CSR_PWCTL1)
491 #define kvm_write_gcsr_stlbpgsize(val) kvm_gcsr_write(val, KVM_CSR_STLBPGSIZE)
493 #define kvm_write_gcsr_rvacfg(val) kvm_gcsr_write(val, KVM_CSR_RVACFG)
496 #define kvm_write_gcsr_cpuid(val) kvm_gcsr_write(val, KVM_CSR_CPUID)
498 #define kvm_write_gcsr_prcfg1(val) kvm_gcsr_write(val, KVM_CSR_PRCFG1)
500 #define kvm_write_gcsr_prcfg2(val) kvm_gcsr_write(val, KVM_CSR_PRCFG2)
502 #define kvm_write_gcsr_prcfg3(val) kvm_gcsr_write(val, KVM_CSR_PRCFG3)
505 #define kvm_write_gcsr_kscratch0(val) kvm_gcsr_write(val, KVM_CSR_KS0)
507 #define kvm_write_gcsr_kscratch1(val) kvm_gcsr_write(val, KVM_CSR_KS1)
509 #define kvm_write_gcsr_kscratch2(val) kvm_gcsr_write(val, KVM_CSR_KS2)
511 #define kvm_write_gcsr_kscratch3(val) kvm_gcsr_write(val, KVM_CSR_KS3)
513 #define kvm_write_gcsr_kscratch4(val) kvm_gcsr_write(val, KVM_CSR_KS4)
515 #define kvm_write_gcsr_kscratch5(val) kvm_gcsr_write(val, KVM_CSR_KS5)
517 #define kvm_write_gcsr_kscratch6(val) kvm_gcsr_write(val, KVM_CSR_KS6)
519 #define kvm_write_gcsr_kscratch7(val) kvm_gcsr_write(val, KVM_CSR_KS7)
522 #define kvm_write_gcsr_timerid(val) kvm_gcsr_write(val, KVM_CSR_TMID)
524 #define kvm_write_gcsr_timercfg(val) kvm_gcsr_write(val, KVM_CSR_TCFG)
526 #define kvm_write_gcsr_timertick(val) kvm_gcsr_write(val, KVM_CSR_TVAL)
528 #define kvm_write_gcsr_timeroffset(val) kvm_gcsr_write(val, KVM_CSR_CNTC)
531 #define kvm_write_gcsr_llbctl(val) kvm_gcsr_write(val, KVM_CSR_LLBCTL)
534 #define kvm_write_gcsr_tlbrentry(val) kvm_gcsr_write(val, KVM_CSR_TLBRENTRY)
536 #define kvm_write_gcsr_tlbrbadv(val) kvm_gcsr_write(val, KVM_CSR_TLBRBADV)
538 #define kvm_write_gcsr_tlbrera(val) kvm_gcsr_write(val, KVM_CSR_TLBRERA)
540 #define kvm_write_gcsr_tlbrsave(val) kvm_gcsr_write(val, KVM_CSR_TLBRSAVE)
542 #define kvm_write_gcsr_tlbrelo0(val) kvm_gcsr_write(val, KVM_CSR_TLBRELO0)
544 #define kvm_write_gcsr_tlbrelo1(val) kvm_gcsr_write(val, KVM_CSR_TLBRELO1)
546 #define kvm_write_gcsr_tlbrehi(val) kvm_gcsr_write(val, KVM_CSR_TLBREHI)
548 #define kvm_write_gcsr_tlbrprmd(val) kvm_gcsr_write(val, KVM_CSR_TLBRPRMD)
551 #define kvm_write_gcsr_directwin0(val) kvm_gcsr_write(val, KVM_CSR_DMWIN0)
553 #define kvm_write_gcsr_directwin1(val) kvm_gcsr_write(val, KVM_CSR_DMWIN1)
555 #define kvm_write_gcsr_directwin2(val) kvm_gcsr_write(val, KVM_CSR_DMWIN2)
557 #define kvm_write_gcsr_directwin3(val) kvm_gcsr_write(val, KVM_CSR_DMWIN3)
647 kvm_change_csr_gstat(unsigned long change, unsigned long val)
653 new |= (val & change);
660 kvm_change_csr_gcfg(unsigned long change, unsigned long val)
666 new |= (val & change);
673 #define kvm_set_gcsr_estat(val) \
674 kvm_gcsr_xchg(val, val, KVM_CSR_ESTAT)
675 #define kvm_clear_gcsr_estat(val) \
676 kvm_gcsr_xchg(~(val), val, KVM_CSR_ESTAT)