static void amd64fbsd_supply_pcb(struct regcache *regcache, CORE_ADDR pcb_addr) { gdb_byte buf[8]; int i; for (i = 0; i < ARRAY_SIZE (amd64fbsd_pcb_offset); i++) if (amd64fbsd_pcb_offset[i] != -1) { if (target_read_memory(pcb_addr + amd64fbsd_pcb_offset[i], buf, sizeof buf) != 0) continue; regcache_raw_supply(regcache, i, buf); } regcache_raw_supply_unsigned(regcache, AMD64_CS_REGNUM, CODE_SEL); regcache_raw_supply_unsigned(regcache, AMD64_SS_REGNUM, DATA_SEL); }
static void i386fbsd_supply_pcb(struct regcache *regcache, CORE_ADDR pcb_addr) { gdb_byte buf[4]; int i; for (i = 0; i < ARRAY_SIZE (i386fbsd_pcb_offset); i++) if (i386fbsd_pcb_offset[i] != -1) { if (target_read_memory(pcb_addr + i386fbsd_pcb_offset[i], buf, sizeof buf) != 0) continue; regcache_raw_supply(regcache, i, buf); } regcache_raw_supply_unsigned(regcache, I386_CS_REGNUM, CODE_SEL); regcache_raw_supply_unsigned(regcache, I386_DS_REGNUM, DATA_SEL); regcache_raw_supply_unsigned(regcache, I386_ES_REGNUM, DATA_SEL); regcache_raw_supply_unsigned(regcache, I386_FS_REGNUM, PRIV_SEL); regcache_raw_supply_unsigned(regcache, I386_GS_REGNUM, DATA_SEL); regcache_raw_supply_unsigned(regcache, I386_SS_REGNUM, DATA_SEL); }