uml: move userspace code to userspace file
Move some code from a kernelspace file to a userspace file where it fits better. This enables some tidying which is the subject of a later patch. Signed-off-by: Jeff Dike <jdike@linux.intel.com> Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
2090ab05fe
Коммит
89fe64766a
|
@ -89,54 +89,6 @@ static const struct chan_ops not_configged_ops = {
|
||||||
};
|
};
|
||||||
#endif /* CONFIG_NOCONFIG_CHAN */
|
#endif /* CONFIG_NOCONFIG_CHAN */
|
||||||
|
|
||||||
void generic_close(int fd, void *unused)
|
|
||||||
{
|
|
||||||
os_close_file(fd);
|
|
||||||
}
|
|
||||||
|
|
||||||
int generic_read(int fd, char *c_out, void *unused)
|
|
||||||
{
|
|
||||||
int n;
|
|
||||||
|
|
||||||
n = os_read_file(fd, c_out, sizeof(*c_out));
|
|
||||||
|
|
||||||
if(n == -EAGAIN)
|
|
||||||
return 0;
|
|
||||||
else if(n == 0)
|
|
||||||
return -EIO;
|
|
||||||
return n;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* XXX Trivial wrapper around os_write_file */
|
|
||||||
|
|
||||||
int generic_write(int fd, const char *buf, int n, void *unused)
|
|
||||||
{
|
|
||||||
return os_write_file(fd, buf, n);
|
|
||||||
}
|
|
||||||
|
|
||||||
int generic_window_size(int fd, void *unused, unsigned short *rows_out,
|
|
||||||
unsigned short *cols_out)
|
|
||||||
{
|
|
||||||
int rows, cols;
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
ret = os_window_size(fd, &rows, &cols);
|
|
||||||
if(ret < 0)
|
|
||||||
return ret;
|
|
||||||
|
|
||||||
ret = ((*rows_out != rows) || (*cols_out != cols));
|
|
||||||
|
|
||||||
*rows_out = rows;
|
|
||||||
*cols_out = cols;
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
void generic_free(void *data)
|
|
||||||
{
|
|
||||||
kfree(data);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void tty_receive_char(struct tty_struct *tty, char ch)
|
static void tty_receive_char(struct tty_struct *tty, char ch)
|
||||||
{
|
{
|
||||||
if(tty == NULL) return;
|
if(tty == NULL) return;
|
||||||
|
|
|
@ -19,6 +19,55 @@
|
||||||
#include "os.h"
|
#include "os.h"
|
||||||
#include "choose-mode.h"
|
#include "choose-mode.h"
|
||||||
#include "mode.h"
|
#include "mode.h"
|
||||||
|
#include "um_malloc.h"
|
||||||
|
|
||||||
|
void generic_close(int fd, void *unused)
|
||||||
|
{
|
||||||
|
os_close_file(fd);
|
||||||
|
}
|
||||||
|
|
||||||
|
int generic_read(int fd, char *c_out, void *unused)
|
||||||
|
{
|
||||||
|
int n;
|
||||||
|
|
||||||
|
n = os_read_file(fd, c_out, sizeof(*c_out));
|
||||||
|
|
||||||
|
if(n == -EAGAIN)
|
||||||
|
return 0;
|
||||||
|
else if(n == 0)
|
||||||
|
return -EIO;
|
||||||
|
return n;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* XXX Trivial wrapper around os_write_file */
|
||||||
|
|
||||||
|
int generic_write(int fd, const char *buf, int n, void *unused)
|
||||||
|
{
|
||||||
|
return os_write_file(fd, buf, n);
|
||||||
|
}
|
||||||
|
|
||||||
|
int generic_window_size(int fd, void *unused, unsigned short *rows_out,
|
||||||
|
unsigned short *cols_out)
|
||||||
|
{
|
||||||
|
int rows, cols;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
ret = os_window_size(fd, &rows, &cols);
|
||||||
|
if(ret < 0)
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
ret = ((*rows_out != rows) || (*cols_out != cols));
|
||||||
|
|
||||||
|
*rows_out = rows;
|
||||||
|
*cols_out = cols;
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
void generic_free(void *data)
|
||||||
|
{
|
||||||
|
kfree(data);
|
||||||
|
}
|
||||||
|
|
||||||
int generic_console_write(int fd, const char *buf, int n)
|
int generic_console_write(int fd, const char *buf, int n)
|
||||||
{
|
{
|
||||||
|
|
Загрузка…
Ссылка в новой задаче