repositories
/
des2015.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
plots
[des2015.git]
/
mart
/
ex10
/
ex10dmaster.c
diff --git
a/mart/ex10/ex10dmaster.c
b/mart/ex10/ex10dmaster.c
index
b95d7e2
..
78ffc7b
100644
(file)
--- a/
mart/ex10/ex10dmaster.c
+++ b/
mart/ex10/ex10dmaster.c
@@
-16,19
+16,17
@@
RT_TASK task;
RTIME times[SAMPLES];
RT_TASK task;
RTIME times[SAMPLES];
-void
lpt1_handler
(void *arg)
+void
taskf
(void *arg)
{
RT_INTR intr;
{
RT_INTR intr;
- rt_intr_create(&intr, "lpt1 handler", LPT1IRQ,
0
);
+ rt_intr_create(&intr, "lpt1 handler", LPT1IRQ,
I_PROPAGATE
);
rt_task_set_periodic(NULL, TM_NOW, 1e5);
rt_task_set_periodic(NULL, TM_NOW, 1e5);
- rt_printf("Sending\n");
unsigned int i;
for(i = 0; i<SAMPLES; i++){
times[i] = rt_timer_read();
unsigned int i;
for(i = 0; i<SAMPLES; i++){
times[i] = rt_timer_read();
- outb(inb(0x378) & 0x
EF
, 0x378);
+ outb(inb(0x378) & 0x
FE
, 0x378);
outb(inb(0x378) | 0x01, 0x378);
outb(inb(0x378) | 0x01, 0x378);
- // Signal other machine
rt_intr_wait(&intr, TM_INFINITE);
times[i] = rt_timer_read()-times[i];
rt_task_wait_period(NULL);
rt_intr_wait(&intr, TM_INFINITE);
times[i] = rt_timer_read()-times[i];
rt_task_wait_period(NULL);
@@
-49,12
+47,12
@@
int main(int argc, char* argv[])
mlockall(MCL_CURRENT | MCL_FUTURE);
ioperm(0x37A, 1, 1);
mlockall(MCL_CURRENT | MCL_FUTURE);
ioperm(0x37A, 1, 1);
+ outb(inb(0x37A) | 0x10, 0x37A);
ioperm(0x378, 1, 1);
ioperm(0x378, 1, 1);
- outb(inb(0x37A) | 0x01, 0x37A);
outb(inb(0x378) | 0x01, 0x378);
rt_task_create(&task, "task", 0, 50, 0);
outb(inb(0x378) | 0x01, 0x378);
rt_task_create(&task, "task", 0, 50, 0);
- rt_task_start(&task, &
lpt1_handler
, 0);
+ rt_task_start(&task, &
taskf
, 0);
pause();
outb(inb(0x37A) & 0xEF, 0x37A);
pause();
outb(inb(0x37A) & 0xEF, 0x37A);