Example #1
0
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);
}
Example #2
0
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);
}