Lines Matching refs:addr

124 static int openpic_cpu_write_internal(void *opaque, gpa_t addr,
126 static int openpic_cpu_read_internal(void *opaque, gpa_t addr,
688 static int openpic_gbl_write(void *opaque, gpa_t addr, u32 val)
693 pr_debug("%s: addr %#llx <= %08x\n", __func__, addr, val);
694 if (addr & 0xF)
697 switch (addr) {
708 err = openpic_cpu_write_internal(opp, addr, val,
730 idx = (addr - 0x10A0) >> 4;
744 static int openpic_gbl_read(void *opaque, gpa_t addr, u32 *ptr)
750 pr_debug("%s: addr %#llx\n", __func__, addr);
752 if (addr & 0xF)
755 switch (addr) {
780 err = openpic_cpu_read_internal(opp, addr,
789 idx = (addr - 0x10A0) >> 4;
806 static int openpic_tmr_write(void *opaque, gpa_t addr, u32 val)
811 addr += 0x10f0;
813 pr_debug("%s: addr %#llx <= %08x\n", __func__, addr, val);
814 if (addr & 0xF)
817 if (addr == 0x10f0) {
823 idx = (addr >> 6) & 0x3;
824 addr = addr & 0x30;
826 switch (addr & 0x30) {
848 static int openpic_tmr_read(void *opaque, gpa_t addr, u32 *ptr)
854 pr_debug("%s: addr %#llx\n", __func__, addr);
855 if (addr & 0xF)
858 idx = (addr >> 6) & 0x3;
859 if (addr == 0x0) {
865 switch (addr & 0x30) {
886 static int openpic_src_write(void *opaque, gpa_t addr, u32 val)
891 pr_debug("%s: addr %#llx <= %08x\n", __func__, addr, val);
893 addr = addr & 0xffff;
894 idx = addr >> 5;
896 switch (addr & 0x1f) {
911 static int openpic_src_read(void *opaque, gpa_t addr, u32 *ptr)
917 pr_debug("%s: addr %#llx\n", __func__, addr);
920 addr = addr & 0xffff;
921 idx = addr >> 5;
923 switch (addr & 0x1f) {
940 static int openpic_msi_write(void *opaque, gpa_t addr, u32 val)
946 pr_debug("%s: addr %#llx <= 0x%08x\n", __func__, addr, val);
947 if (addr & 0xF)
950 switch (addr) {
966 static int openpic_msi_read(void *opaque, gpa_t addr, u32 *ptr)
972 pr_debug("%s: addr %#llx\n", __func__, addr);
973 if (addr & 0xF)
976 srs = addr >> 4;
978 switch (addr) {
1003 static int openpic_summary_read(void *opaque, gpa_t addr, u32 *ptr)
1007 pr_debug("%s: addr %#llx\n", __func__, addr);
1015 static int openpic_summary_write(void *opaque, gpa_t addr, u32 val)
1017 pr_debug("%s: addr %#llx <= 0x%08x\n", __func__, addr, val);
1023 static int openpic_cpu_write_internal(void *opaque, gpa_t addr,
1031 pr_debug("%s: cpu %d addr %#llx <= 0x%08x\n", __func__, idx,
1032 addr, val);
1037 if (addr & 0xF)
1041 addr &= 0xFF0;
1042 switch (addr) {
1047 idx = (addr - 0x40) >> 4;
1118 static int openpic_cpu_write(void *opaque, gpa_t addr, u32 val)
1122 return openpic_cpu_write_internal(opp, addr, val,
1123 (addr & 0x1f000) >> 12);
1190 static int openpic_cpu_read_internal(void *opaque, gpa_t addr,
1197 pr_debug("%s: cpu %d addr %#llx\n", __func__, idx, addr);
1203 if (addr & 0xF)
1207 addr &= 0xFF0;
1208 switch (addr) {
1231 static int openpic_cpu_read(void *opaque, gpa_t addr, u32 *ptr)
1235 return openpic_cpu_read_internal(opp, addr, ptr,
1236 (addr & 0x1f000) >> 12);
1240 int (*read)(void *opaque, gpa_t addr, u32 *ptr);
1241 int (*write)(void *opaque, gpa_t addr, u32 val);
1339 static int kvm_mpic_read_internal(struct openpic *opp, gpa_t addr, u32 *ptr)
1346 if (mr->start_addr > addr || addr >= mr->start_addr + mr->size)
1349 return mr->read(opp, addr - mr->start_addr, ptr);
1355 static int kvm_mpic_write_internal(struct openpic *opp, gpa_t addr, u32 val)
1362 if (mr->start_addr > addr || addr >= mr->start_addr + mr->size)
1365 return mr->write(opp, addr - mr->start_addr, val);
1373 gpa_t addr, int len, void *ptr)
1382 if (addr & (len - 1)) {
1384 __func__, addr, len);
1389 ret = kvm_mpic_read_internal(opp, addr - opp->reg_base, &u.val);
1399 pr_debug("%s: addr %llx ret %d len 4 val %x\n",
1400 __func__, addr, ret, u.val);
1402 *(u8 *)ptr = u.bytes[addr & 3];
1403 pr_debug("%s: addr %llx ret %d len 1 val %x\n",
1404 __func__, addr, ret, u.bytes[addr & 3]);
1415 gpa_t addr, int len, const void *ptr)
1424 if (addr & 3) {
1425 pr_debug("%s: bad alignment %llx/%d\n", __func__, addr, len);
1430 ret = kvm_mpic_write_internal(opp, addr - opp->reg_base,
1434 pr_debug("%s: addr %llx ret %d val %x\n",
1435 __func__, addr, ret, *(const u32 *)ptr);
1463 if (copy_from_user(&base, (u64 __user *)(long)attr->addr, sizeof(u64)))
1496 static int access_reg(struct openpic *opp, gpa_t addr, u32 *val, int type)
1500 if (addr & 3)
1506 ret = kvm_mpic_write_internal(opp, addr, *val);
1508 ret = kvm_mpic_read_internal(opp, addr, val);
1512 pr_debug("%s: type %d addr %llx val %x\n", __func__, type, addr, *val);
1532 if (get_user(attr32, (u32 __user *)(long)attr->addr))
1541 if (get_user(attr32, (u32 __user *)(long)attr->addr))
1571 if (copy_to_user((u64 __user *)(long)attr->addr,
1585 if (put_user(attr32, (u32 __user *)(long)attr->addr))
1598 if (put_user(attr32, (u32 __user *)(long)attr->addr))