mirror of
https://github.com/genodelabs/genode.git
synced 2025-01-18 18:56:29 +00:00
Adapt gallium and libdrm plugins to current libc
This patch adapts the gallium and libdrm libc plugins to the current workings of the libc. Fixes #1070.
This commit is contained in:
parent
7fd53b52df
commit
148b8efe8e
@ -53,8 +53,8 @@ namespace {
|
||||
|
||||
bool supports_open(const char *pathname, int flags)
|
||||
{
|
||||
return !Genode::strcmp(pathname,
|
||||
"/sys/class/drm/card0/device/device");
|
||||
return (Genode::strcmp(pathname,
|
||||
"/sys/class/drm/card0/device/device") == 0);
|
||||
}
|
||||
|
||||
Libc::File_descriptor *open(const char *pathname, int flags)
|
||||
@ -88,6 +88,23 @@ namespace {
|
||||
context(fd)->position += count;
|
||||
return count;
|
||||
}
|
||||
|
||||
bool supports_stat(const char *path)
|
||||
{
|
||||
return (Genode::strcmp(path, "/sys") == 0) ||
|
||||
(Genode::strcmp(path, "/sys/class") == 0) ||
|
||||
(Genode::strcmp(path, "/sys/class/drm") == 0) ||
|
||||
(Genode::strcmp(path, "/sys/class/drm/card0") == 0) ||
|
||||
(Genode::strcmp(path, "/sys/class/drm/card0/device") == 0) ||
|
||||
(Genode::strcmp(path, "/sys/class/drm/card0/device/device") == 0);
|
||||
}
|
||||
|
||||
int stat(const char *path, struct stat *buf)
|
||||
{
|
||||
if (buf)
|
||||
buf->st_mode = S_IFDIR;
|
||||
return 0;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -139,6 +139,20 @@ namespace {
|
||||
return Libc::file_descriptor_allocator()->alloc(this, context);
|
||||
}
|
||||
|
||||
bool supports_stat(const char *path)
|
||||
{
|
||||
return (Genode::strcmp(path, "/dev") == 0 ||
|
||||
Genode::strcmp(path, "/dev/drm") == 0);
|
||||
}
|
||||
|
||||
int stat(const char *path, struct stat *buf)
|
||||
{
|
||||
if (buf)
|
||||
buf->st_mode = S_IFDIR;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int ioctl(Libc::File_descriptor *fd, int request, char *argp)
|
||||
{
|
||||
if (verbose_ioctl)
|
||||
@ -152,6 +166,8 @@ namespace {
|
||||
return _driver->ioctl(_client, drm_command(request), argp);
|
||||
}
|
||||
|
||||
bool supports_mmap() { return true; }
|
||||
|
||||
/**
|
||||
* Pseudo mmap specific for DRM device
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user