mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 04:27:43 +00:00
UserspaceEmulator: Implement the execve() syscall :^)
This virtual syscall works by exec'ing the UserspaceEmulator itself, with the emulated program's provided arguments as the arguments to the new UserspaceEmulator instance. This means that we "follow" exec'ed programs and emulate them as well. In the future we might want to make this an opt-in (or opt-out, idk) behavior, but for now it's what we do. This is really quite cool, I think! :^)
This commit is contained in:
parent
b9a0ba9624
commit
0b287c18b9
2 changed files with 45 additions and 0 deletions
|
@ -71,6 +71,7 @@ private:
|
|||
void setup_stack(const Vector<String>& arguments, const Vector<String>& environment);
|
||||
|
||||
int virt$fork();
|
||||
int virt$execve(FlatPtr);
|
||||
int virt$get_dir_entries(int fd, FlatPtr buffer, ssize_t);
|
||||
int virt$ioctl(int fd, unsigned, FlatPtr);
|
||||
int virt$usleep(useconds_t);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue