swap: introduce swapping onto IDE, add the needed ZX128 bits
authorAlan Cox <alan@linux.intel.com>
Thu, 21 May 2015 08:33:30 +0000 (09:33 +0100)
committerAlan Cox <alan@linux.intel.com>
Thu, 21 May 2015 08:33:30 +0000 (09:33 +0100)
commitcbd005bac9bda66a4e1ee0288ee430466260c2d8
treeb532e4fbf64c19fab99836f2bee85692499f1e62
parentd5f31fbe0b88d83756f36059ada2250e78d03acd
swap: introduce swapping onto IDE, add the needed ZX128 bits

The concept is:

swap_map(x) turns x into an address that will hold the data to be
written out.
swap_page holds the "page" which is a cookie passed from the bank
manager to the swapper and on to the drivers.
map_for_swap takes the cookie and puts the page in the required space
map_kernel_{restore} then goes back to kernel mappings

The bank manager is responsible for not queuing a single I/O that spans two
"pages"

This then allows for swapping support, including banked memory from bank16k and
the like to use a generic shared driver without platform specifics leaking into
the driver layer code.
Kernel/dev/blkdev.c
Kernel/dev/blkdev.h
Kernel/dev/devide.c
Kernel/platform-zx128/config.h
Kernel/platform-zx128/zx128.s