Der Code zum setzten des Breakpoints sieht bei mir so aus:
asm volatile(
"mov %0,%%db0;"
"mov %%db7,%%rax;"
"or %1,%%rax;"
"mov %%rax,%%db7"
: : "r"(BreakPoint), "r"((uint64_t)0x3 << (2 * i)) : "rax");
"i" entspricht dabei dem Index welcher Breakpoint gesetzt werden soll (momentan immer 1).