git://scm.lunaixsky.com
/
lunaix-os.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
refactor: decouple i386 specific instruction invocation
[lunaix-os.git]
/
lunaix-os
/
debug
/
bg_lsdbg.c
diff --git
a/lunaix-os/debug/bg_lsdbg.c
b/lunaix-os/debug/bg_lsdbg.c
index 0f0496de4681dc506fa65b28e45eb16847fc7c94..c5072d7f5dec9419f9037df88be3de4b7ef8a2a2 100644
(file)
--- a/
lunaix-os/debug/bg_lsdbg.c
+++ b/
lunaix-os/debug/bg_lsdbg.c
@@
-7,7
+7,7
@@
LOG_MODULE("DBG");
LOG_MODULE("DBG");
-static volatile sdbg_state = 0;
+static volatile
int
sdbg_state = 0;
void
sdbg_printf(char* fmt, ...)
void
sdbg_printf(char* fmt, ...)
@@
-26,16
+26,18
@@
sdbg_printf(char* fmt, ...)
void
lunaix_sdbg_loop(isr_param* param)
{
void
lunaix_sdbg_loop(isr_param* param)
{
-
char
c;
+
u8_t
c;
if (sdbg_state == SDBG_STATE_WAIT_BRK) {
if (sdbg_state == SDBG_STATE_WAIT_BRK) {
- (param)->eflags &= ~(1 << 8);
+ (param)->e
xecp->e
flags &= ~(1 << 8);
sdbg_state = SDBG_STATE_INSESSION;
sdbg_state = SDBG_STATE_INSESSION;
- sdbg_printf("[%p:%p] Break point reached.\n", param->cs, param->eip);
+ sdbg_printf("[%p:%p] Break point reached.\n",
+ param->execp->cs,
+ param->execp->eip);
}
while (1) {
}
while (1) {
- c = serial_rx_byte(SERIAL_COM1);
+ c =
(u8_t)
serial_rx_byte(SERIAL_COM1);
if (c == SDBG_CLNT_QUIT) {
sdbg_state = SDBG_STATE_START;
break;
if (c == SDBG_CLNT_QUIT) {
sdbg_state = SDBG_STATE_START;
break;
@@
-44,12
+46,14
@@
lunaix_sdbg_loop(isr_param* param)
switch (c) {
case SDBG_CLNT_HI:
if (sdbg_state == SDBG_STATE_START) {
switch (c) {
case SDBG_CLNT_HI:
if (sdbg_state == SDBG_STATE_START) {
- sdbg_printf(
- "[%p:%p] Session started.\n", param->cs, param->eip);
+ sdbg_printf("[%p:%p] Session started.\n",
+ param->execp->cs,
+ param->execp->eip);
sdbg_state = SDBG_STATE_INSESSION;
} else {
sdbg_state = SDBG_STATE_INSESSION;
} else {
- sdbg_printf(
- "[%p:%p] Session resumed.\n", param->cs, param->eip);
+ sdbg_printf("[%p:%p] Session resumed.\n",
+ param->execp->cs,
+ param->execp->eip);
}
break;
case SDBG_CLNT_RREG:
}
break;
case SDBG_CLNT_RREG:
@@
-57,14
+61,14
@@
lunaix_sdbg_loop(isr_param* param)
serial_tx_buffer(SERIAL_COM1, (char*)param, sizeof(isr_param));
break;
case SDBG_CLNT_STEP:
serial_tx_buffer(SERIAL_COM1, (char*)param, sizeof(isr_param));
break;
case SDBG_CLNT_STEP:
- ((isr_param*)param)->eflags |= (1 << 8); // set TF flags
+ ((isr_param*)param)->e
xecp->e
flags |= (1 << 8); // set TF flags
sdbg_state = SDBG_STATE_WAIT_BRK;
return;
case SDBG_CLNT_BRKP:
// the break point address
sdbg_state = SDBG_STATE_WAIT_BRK;
return;
case SDBG_CLNT_BRKP:
// the break point address
- // serial_rx_buffer(SERIAL_COM1, buffer, sizeof(
uint
ptr_t));
+ // serial_rx_buffer(SERIAL_COM1, buffer, sizeof(ptr_t));
- // asm("movl %0, %%dr0" ::"r"(*((
uint
ptr_t*)buffer)));
+ // asm("movl %0, %%dr0" ::"r"(*((ptr_t*)buffer)));
sdbg_state = SDBG_STATE_WAIT_BRK;
return;
sdbg_state = SDBG_STATE_WAIT_BRK;
return;