mirror of
https://github.com/EnderIce2/Fennix.git
synced 2025-05-30 00:07:59 +00:00
feat(kernel): add stub device /dev/fb0
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
This commit is contained in:
parent
d9235c6f90
commit
e927d93a48
@ -45,14 +45,19 @@ namespace Driver
|
|||||||
* 4 - /dev/random
|
* 4 - /dev/random
|
||||||
* 5 - /dev/mem
|
* 5 - /dev/mem
|
||||||
* 6 - /dev/kcon
|
* 6 - /dev/kcon
|
||||||
* 7 - /dev/tty
|
* 7 - /dev/tty
|
||||||
* 8 - /dev/ptmx
|
* 8 - /dev/ptmx
|
||||||
*
|
*
|
||||||
* maj = 1
|
* maj = 1
|
||||||
* min:
|
* min:
|
||||||
* 0 - /dev/input/keyboard
|
* 0 - /dev/input/keyboard
|
||||||
* 1 - /dev/input/mouse
|
* 1 - /dev/input/mouse
|
||||||
* ..- /dev/input/eventX
|
* ..- /dev/input/eventN
|
||||||
|
*
|
||||||
|
* maj = 2
|
||||||
|
* min:
|
||||||
|
* 0 - /dev/fb0
|
||||||
|
* ..- /dev/fbN
|
||||||
*/
|
*/
|
||||||
|
|
||||||
TTY::PTMXDevice *ptmx = nullptr;
|
TTY::PTMXDevice *ptmx = nullptr;
|
||||||
@ -205,6 +210,16 @@ namespace Driver
|
|||||||
return -ENOENT;
|
return -ENOENT;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
case 2:
|
||||||
|
{
|
||||||
|
switch (Node->GetMinor())
|
||||||
|
{
|
||||||
|
case 0: /* /dev/fb0 */
|
||||||
|
return -EINVAL;
|
||||||
|
default:
|
||||||
|
return -ENOENT;
|
||||||
|
}
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
std::unordered_map<dev_t, Driver::DriverObject> &drivers =
|
std::unordered_map<dev_t, Driver::DriverObject> &drivers =
|
||||||
@ -283,6 +298,16 @@ namespace Driver
|
|||||||
return -ENOENT;
|
return -ENOENT;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
case 2:
|
||||||
|
{
|
||||||
|
switch (Node->GetMinor())
|
||||||
|
{
|
||||||
|
case 0: /* /dev/fb0 */
|
||||||
|
return -EINVAL;
|
||||||
|
default:
|
||||||
|
return -ENOENT;
|
||||||
|
}
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
std::unordered_map<dev_t, Driver::DriverObject> &drivers =
|
std::unordered_map<dev_t, Driver::DriverObject> &drivers =
|
||||||
@ -467,6 +492,32 @@ namespace Driver
|
|||||||
return -ENOENT;
|
return -ENOENT;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
case 2:
|
||||||
|
{
|
||||||
|
switch (Node->GetMinor())
|
||||||
|
{
|
||||||
|
case 0: /* /dev/fb0 */
|
||||||
|
{
|
||||||
|
switch (Request)
|
||||||
|
{
|
||||||
|
case FBIOGET_SCREEN_INFO:
|
||||||
|
{
|
||||||
|
FramebufferScreenInfo *info = (FramebufferScreenInfo *)Argp;
|
||||||
|
info->Width = Display->GetWidth;
|
||||||
|
info->Height = Display->GetHeight;
|
||||||
|
info->Pitch = Display->GetPitch();
|
||||||
|
info->Bpp = Display->GetBitsPerPixel();
|
||||||
|
info->Size = Display->GetSize;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
return -ENOSYS;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
return -ENOENT;
|
||||||
|
}
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
std::unordered_map<dev_t, Driver::DriverObject> &drivers =
|
std::unordered_map<dev_t, Driver::DriverObject> &drivers =
|
||||||
@ -870,7 +921,6 @@ namespace Driver
|
|||||||
createDevice(_dev, devNode, "ptmx", 0, MinorID++, mode);
|
createDevice(_dev, devNode, "ptmx", 0, MinorID++, mode);
|
||||||
|
|
||||||
/* ------------------------------------------------------ */
|
/* ------------------------------------------------------ */
|
||||||
|
|
||||||
MinorID = 0;
|
MinorID = 0;
|
||||||
|
|
||||||
/* c rw- r-- --- */
|
/* c rw- r-- --- */
|
||||||
@ -886,5 +936,14 @@ namespace Driver
|
|||||||
|
|
||||||
S_IFCHR;
|
S_IFCHR;
|
||||||
createDevice(input, devInputNode, "mouse", 1, MinorID++, mode);
|
createDevice(input, devInputNode, "mouse", 1, MinorID++, mode);
|
||||||
|
|
||||||
|
/* ------------------------------------------------------ */
|
||||||
|
MinorID = 0;
|
||||||
|
|
||||||
|
/* c rw- r-- --- */
|
||||||
|
mode = S_IRUSR | S_IWUSR |
|
||||||
|
S_IRGRP |
|
||||||
|
S_IFCHR;
|
||||||
|
createDevice(_dev, devNode, "fb0", 2, MinorID++, mode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -531,6 +531,17 @@ static_assert((int)__SYS_SIG_IGN == (int)___SYS_SIG_IGN, "SIG_IGN values do not
|
|||||||
typedef int __SYS_clockid_t;
|
typedef int __SYS_clockid_t;
|
||||||
typedef unsigned int __SYS_socklen_t;
|
typedef unsigned int __SYS_socklen_t;
|
||||||
|
|
||||||
|
typedef struct FramebufferScreenInfo
|
||||||
|
{
|
||||||
|
__UINT32_TYPE__ Width;
|
||||||
|
__UINT32_TYPE__ Height;
|
||||||
|
__UINT32_TYPE__ Pitch;
|
||||||
|
__UINT32_TYPE__ Bpp;
|
||||||
|
__UINT32_TYPE__ Size;
|
||||||
|
} FramebufferScreenInfo;
|
||||||
|
|
||||||
|
#define FBIOGET_SCREEN_INFO 0xf0
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief List of syscalls
|
* @brief List of syscalls
|
||||||
*
|
*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user