Berlin Brown - 2005-06-21

In order to get past the block devices and filesystem, I needed to test a simple driver:

I don't really know if the kernel/floppy.c works or doesnt work. It could be an issue with my timing, it could actually work, but the small filesystem I have in place is not correctly copying data to memory, etc.

I am using the linux floppy driver, that is half the problem.

The core code is over a thounsand lines: This is the main part, basically copy data from the floppy to memory:

static void floppy_copy_buffer(void *from, void *to) {

int d0, d1, d2;
__asm__ __volatile__( \
"cld\n\t" \
"rep ; movsl" \
: "=&c" (d0), "=&D" (d1), "=&S" (d2) \
: "0" (_BLOCK_SIZE / 4),"1" ((long) to),"2" ((long) from) \
: "memory");

}