Everywhere: Remove unnecessary whitespace at the end of some lines.
This commit is contained in:
parent
6749ba3477
commit
1f81bc6879
Notes:
sideshowbarker
2024-07-18 21:37:47 +09:00
Author: https://github.com/emanuele6 Commit: https://github.com/SerenityOS/serenity/commit/1f81bc68799 Pull-request: https://github.com/SerenityOS/serenity/pull/5687
32 changed files with 76 additions and 76 deletions
|
@ -3,7 +3,7 @@ function foo() {
|
|||
function bar() {
|
||||
var y = 6;
|
||||
}
|
||||
|
||||
|
||||
bar();
|
||||
return y;
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@ $(PROGRAM): $(OBJS)
|
|||
$(CXX) -o $@ $(OBJS)
|
||||
|
||||
%.o: %.cpp
|
||||
$(CXX) $(CXXFLAGS) -o $@ -c $<
|
||||
$(CXX) $(CXXFLAGS) -o $@ -c $<
|
||||
|
||||
clean:
|
||||
rm $(OBJS) $(PROGRAM)
|
||||
|
|
|
@ -50,15 +50,15 @@
|
|||
<div id=righty2>R2</div>
|
||||
</div>
|
||||
<div>
|
||||
lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum
|
||||
lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum
|
||||
lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum
|
||||
lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum
|
||||
lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum
|
||||
lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum
|
||||
lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum
|
||||
lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum
|
||||
<div id=clearo></div>
|
||||
<div>
|
||||
<div id=lefty3>L3</div>
|
||||
<div id=righty3>R3</div>
|
||||
</div>
|
||||
lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum
|
||||
lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -51,10 +51,10 @@
|
|||
<div id=righty3>R3</div>
|
||||
</div>
|
||||
<div>
|
||||
lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum
|
||||
lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum
|
||||
lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum
|
||||
lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum
|
||||
lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum
|
||||
lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum
|
||||
lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum
|
||||
lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum
|
||||
lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum
|
||||
lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<html>
|
||||
<head>
|
||||
<style>
|
||||
#b {
|
||||
#b {
|
||||
border: 1px solid red;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
---------------------------------------------------------------------------------------
|
||||
228 ä ä ä U+00E4 C3 A4 LATIN SMALL LETTER A WITH DIAERESIS
|
||||
229 å å å U+00E5 C3 A5 LATIN SMALL LETTER A WITH RING
|
||||
229 å å å U+00E5 C3 A5 LATIN SMALL LETTER A WITH RING
|
||||
287 ğ ğ ğ U+011F C4 9E LATIN SMALL LETTER G WITH BREVE
|
||||
252 ü ü ü U+00FC C3 BC LATIN SMALL LETTER U WITH DIAERESIS
|
||||
351 ş ş ş U+015F C5 9F LATIN SMALL LETTER S WITH CEDILLA
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
width: 50px;
|
||||
height: 50px;
|
||||
top: 50px;
|
||||
left: 50px;
|
||||
left: 50px;
|
||||
}
|
||||
.blue_margin {
|
||||
width: 200px;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"map": [ "", "\u001B", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "'", "+", "\b", "\t", "q", "w", "e", "r", "t", "z", "u", "i", "o", "p", "š", "đ", "\n", "", "a", "s", "d", "f", "g", "h", "j", "k", "l", "č", "ć", "¸", "", "ž", "y", "x", "c", "v", "b", "n", "m", ",", ".", "-", "", "*", "", " ", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "7", "8", "9", "-", "4", "5", "6", "+", "1", "2", "3", "0", ",", "", "<", "", "", ""],
|
||||
"shift_map": [ "", "\u001B", "!", "\"", "#", "$", "%", "&", "/", "(", ")", "=", "?", "*", "\b", "\t", "Q", "W", "E", "R", "T", "Z", "U", "I", "O", "P", "Š", "Đ", "\n", "", "A", "S", "D", "F", "G", "H", "J", "K", "L", "Č", "Ć", "¨", "", "Ž", "Y", "X", "C", "V", "B", "N", "M", ";", ":", "_", "", "*", "", " ", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "7", "8", "9", "-", "4", "5", "6", "+", "1", "2", "3", "0", ",", "", ">", "", "", ""],
|
||||
"alt_map": [ "", "\u001B", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "'", "+", "\b", "\t", "q", "w", "e", "r", "t", "z", "u", "i", "o", "p", "š", "đ", "\n", "", "a", "s", "d", "f", "g", "h", "j", "k", "l", "č", "ć", "¸", "", "ž", "y", "x", "c", "v", "b", "n", "m", ",", ".", "-", "", "*", "", " ", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "7", "8", "9", "-", "4", "5", "6", "+", "1", "2", "3", "0", ",", "", "<", "", "", ""],
|
||||
"map": [ "", "\u001B", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "'", "+", "\b", "\t", "q", "w", "e", "r", "t", "z", "u", "i", "o", "p", "š", "đ", "\n", "", "a", "s", "d", "f", "g", "h", "j", "k", "l", "č", "ć", "¸", "", "ž", "y", "x", "c", "v", "b", "n", "m", ",", ".", "-", "", "*", "", " ", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "7", "8", "9", "-", "4", "5", "6", "+", "1", "2", "3", "0", ",", "", "<", "", "", ""],
|
||||
"shift_map": [ "", "\u001B", "!", "\"", "#", "$", "%", "&", "/", "(", ")", "=", "?", "*", "\b", "\t", "Q", "W", "E", "R", "T", "Z", "U", "I", "O", "P", "Š", "Đ", "\n", "", "A", "S", "D", "F", "G", "H", "J", "K", "L", "Č", "Ć", "¨", "", "Ž", "Y", "X", "C", "V", "B", "N", "M", ";", ":", "_", "", "*", "", " ", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "7", "8", "9", "-", "4", "5", "6", "+", "1", "2", "3", "0", ",", "", ">", "", "", ""],
|
||||
"alt_map": [ "", "\u001B", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "'", "+", "\b", "\t", "q", "w", "e", "r", "t", "z", "u", "i", "o", "p", "š", "đ", "\n", "", "a", "s", "d", "f", "g", "h", "j", "k", "l", "č", "ć", "¸", "", "ž", "y", "x", "c", "v", "b", "n", "m", ",", ".", "-", "", "*", "", " ", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "7", "8", "9", "-", "4", "5", "6", "+", "1", "2", "3", "0", ",", "", "<", "", "", ""],
|
||||
"altgr_map": [ "", "\u001B", "~", "", "^", "", "", "", "`", "", "", "", "", "", "\b", "\t", "\\", "|", "€", "", "", "", "", "", "", "", "÷", "×", "\n", "", "", "", "", "[", "]", "", "", "ł", "Ł", "", "ß", "", "", "¤", "", "", "", "@", "{", "}", "§", "<", ">", "", "", "*", "", " ", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "7", "8", "9", "-", "4", "5", "6", "+", "1", "2", "3", "0", ",", "", "", "", "", ""]
|
||||
}
|
|
@ -58,5 +58,5 @@ $ syscall exit 2
|
|||
|
||||
## History
|
||||
|
||||
This is a direct port of a utility with the same name originated from the Plan 9 operating system.
|
||||
This is a direct port of a utility with the same name originated from the Plan 9 operating system.
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ $ unzip file.zip
|
|||
|
||||
## Description
|
||||
|
||||
unzip will extract files from a zip archive to the current directory.
|
||||
unzip will extract files from a zip archive to the current directory.
|
||||
|
||||
The program is compatible with the PKZIP file format specification.
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ int set_process_name(const char* name, size_t name_length);
|
|||
|
||||
## Description
|
||||
|
||||
`set_process_name()` changes the name of the calling process to the string `name` with length `name_length`.
|
||||
`set_process_name()` changes the name of the calling process to the string `name` with length `name_length`.
|
||||
|
||||
## Pledge
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ A `posix_spawn_file_actions_t` object is allocated on the stack but starts in an
|
|||
|
||||
`posix_spawn_file_actions_destroy()` frees up resources used by a valid `posix_spawn_file_actions_t` object and puts it into an undefined state. It has to be called after a `posix_spawn_file_actions_t` object is no longer needed.
|
||||
|
||||
It is valid to alternatingly call `posix_spawn_file_actions_init()` and `posix_spawn_file_actions_destroy()` on the same object,
|
||||
It is valid to alternatingly call `posix_spawn_file_actions_init()` and `posix_spawn_file_actions_destroy()` on the same object,
|
||||
|
||||
`posix_spawn_file_actions_addchdir()` and `posix_spawn_file_actions_addfchdir()` make `posix_spawn()` change the current working directory before spawning a process, like `chdir` and `fchdir` would.. The current working directory affects the spawned child process, but also relative paths passed to later `posix_spawn_file_actions_add(f)chdir()` and `posix_spawn_file_actions_addopen()`, and relative paths passed to `posix_spawn()` for the executable path.
|
||||
|
||||
|
|
|
@ -44,7 +44,7 @@ A `posix_spawnattr_t` object is allocated on the stack but starts in an undefine
|
|||
|
||||
`posix_spawnattr_destroy()` frees up resources used by a valid `posix_spawn_file_actions_t` object and puts it into an undefined state. It has to be called after a `posix_spawnattr_t` object is no longer needed.
|
||||
|
||||
It is valid to alternatingly call `posix_spawnattr_init()` and `posix_spawnattr_destroy()` on the same object,
|
||||
It is valid to alternatingly call `posix_spawnattr_init()` and `posix_spawnattr_destroy()` on the same object,
|
||||
|
||||
`posix_spawnattr_setflags()` configures which attributes of the new child process `posix_spawn()` will set. It receives a bitmask that can contain:
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ mem - physical system memory
|
|||
the physical memory.
|
||||
|
||||
Trying to [`mmap`(2)](../mmap.md) a physical range results either with success,
|
||||
or with an error. When invoking [`mmap`(2)](../mmap.md) on bad memory range,
|
||||
or with an error. When invoking [`mmap`(2)](../mmap.md) on bad memory range,
|
||||
the kernel will write a message about it to the kernel log.
|
||||
|
||||
By default, the kernel limits the areas which can be accessed. The allowed areas
|
||||
|
|
|
@ -148,7 +148,7 @@ Commands can be either calls to Shell builtins, or external programs.
|
|||
The commands can be composed into semantic elements, producing composite commands:
|
||||
|
||||
### Sequences
|
||||
A sequence of commands, executed serially independent of each other: `Commanad ; Command ; Command ...`
|
||||
A sequence of commands, executed serially independent of each other: `Commanad ; Command ; Command ...`
|
||||
|
||||
It should be noted that a newline (`\\n`) can be substituted for the semicolon (`;`).
|
||||
|
||||
|
|
|
@ -90,7 +90,7 @@ It was first enabled in the following [commit](https://github.com/SerenityOS/ser
|
|||
|
||||
```
|
||||
commit 823186031d9250217f9a51829d34a96b74113334
|
||||
Author Andreas Kling <kling@serenityos.org>
|
||||
Author Andreas Kling <kling@serenityos.org>
|
||||
Date: Tue Feb 2 19:56:11 2021 +0100
|
||||
|
||||
Kernel: Add a way to specify which memory regions can make syscalls
|
||||
|
@ -201,7 +201,7 @@ Everywhere: Build with -fstack-clash-protection
|
|||
|
||||
The GCC compiler provides a few variants of the `-fstack-protector` option mitigation.
|
||||
This family of flags enables [buffer overflow protection](https://en.wikipedia.org/wiki/Buffer_overflow_protection)
|
||||
to mitigate [stack-smashing attacks](https://en.wikipedia.org/wiki/Stack_buffer_overflow).
|
||||
to mitigate [stack-smashing attacks](https://en.wikipedia.org/wiki/Stack_buffer_overflow).
|
||||
|
||||
The compiler implements the mitigation by storing a canary value randomized on program startup into the preamble of all
|
||||
functions. Code is then generated to validate that stack canary on function return and crash if the value has been changed
|
||||
|
@ -217,7 +217,7 @@ Date: Fri Dec 20 20:51:50 2019 +0100
|
|||
Kernel+LibC: Build with basic -fstack-protector support
|
||||
```
|
||||
|
||||
It was later re-enabled and refined to `-fstack-protector-strong` in the following commits:
|
||||
It was later re-enabled and refined to `-fstack-protector-strong` in the following commits:
|
||||
```
|
||||
|
||||
commit fd08c93ef57f71360d74b035214c71d7f7bfc5b8
|
||||
|
|
|
@ -21,7 +21,7 @@ This program must be run as root.
|
|||
* `-u`, `--uid` _uid_: The user identifier for the new user. If not specified, an unused UID above `1000` will be auto-generated.
|
||||
* `-g`, `--gid` _gid_: The group identifier for the new user. If not specified, it will default to 100 (the **users** group).
|
||||
* `-p`, `--password` _password_: The encrypted password for the new user. If not specified, it will default to blank.
|
||||
* `-s`, `--shell` _path-to-shell_: The shell binary for this login. The default is `/bin/Shell`.
|
||||
* `-s`, `--shell` _path-to-shell_: The shell binary for this login. The default is `/bin/Shell`.
|
||||
* `-m`, `--create-home`: Create the specified home directory for this new user.
|
||||
* `-d`, `--home-dir` _path_: Set the home directory for this user to path. By default, this is `/home/username`, where `username` is the value of login.
|
||||
* `-n`, `--gecos` _general-info_: GECOS information about this login. See [Wikipedia](https://en.wikipedia.org/wiki/Gecos_field) for more information.
|
||||
|
|
|
@ -105,12 +105,12 @@ brew install --cask osxfuse
|
|||
Toolchain/BuildFuseExt2.sh
|
||||
```
|
||||
|
||||
Notes:
|
||||
Notes:
|
||||
- fuse-ext2 is not available as brew formula so it must be installed using `BuildFuseExt2.sh`
|
||||
- Xcode and `xcode-tools` must be installed (`git` is required by some scripts)
|
||||
- coreutils is needed to build gcc cross compiler
|
||||
- qemu is needed to run the compiled OS image. You can also build it using the `BuildQemu.sh` script
|
||||
- osxfuse, e2fsprogs, m4, autoconf, automake, libtool and `BuildFuseExt2.sh` are needed if you want to build the root filesystem disk image natively on macOS. This allows mounting an EXT2 fs and also installs commands like `mke2fs` that are not available on stock macOS.
|
||||
- osxfuse, e2fsprogs, m4, autoconf, automake, libtool and `BuildFuseExt2.sh` are needed if you want to build the root filesystem disk image natively on macOS. This allows mounting an EXT2 fs and also installs commands like `mke2fs` that are not available on stock macOS.
|
||||
- Installing osxfuse for the first time requires enabling its system extension in System Preferences and then restarting your machine. The output from installing osxfuse with brew says this, but it's easy to miss.
|
||||
- bash is needed because the default version installed on macOS doesn't support globstar
|
||||
- If you install some commercial EXT2 macOS fs handler instead of osxfuse and fuse-ext2, you will need to `brew install e2fsprogs` to obtain `mke2fs` anyway.
|
||||
|
|
|
@ -7,7 +7,7 @@ Whilst it is possible to run Serenity on physical x86-compatible hardware, it is
|
|||
|
||||
## Hardware support and requirements
|
||||
|
||||
Storage-wise Serenity requires a >= 2 GB parallel ATA or SATA IDE disk. Some older SATA chipsets already operate in IDE mode whilst some newer ones will depend upon adjusting a BIOS option to run your SATA controller in IDE (sometimes referred to as Legacy or PATA) mode. SATA AHCI, SCSI, SAS, eMMC and NVME are all presently unsupported.
|
||||
Storage-wise Serenity requires a >= 2 GB parallel ATA or SATA IDE disk. Some older SATA chipsets already operate in IDE mode whilst some newer ones will depend upon adjusting a BIOS option to run your SATA controller in IDE (sometimes referred to as Legacy or PATA) mode. SATA AHCI, SCSI, SAS, eMMC and NVME are all presently unsupported.
|
||||
|
||||
You must be willing to wipe your disk's contents to allow for writing the Serenity image so be sure to back up any important data on your disk first! Serenity uses the GRUB2 bootloader so it should be possible to multiboot it with any other OS that can be booted from GRUB2 post-installation.
|
||||
|
||||
|
|
|
@ -49,7 +49,7 @@ The way around this is to use a different file name for each VDI you generate. Y
|
|||
Yes, this is a mess. You can delete the old disk images without any issues. If you know a solution for this, *please* let us know.
|
||||
|
||||
## Configuring the virtual machine to boot Serenity
|
||||
Serenity will not be able to boot with the default configuration. There are a couple settings to adjust. Open **Settings** and:
|
||||
Serenity will not be able to boot with the default configuration. There are a couple settings to adjust. Open **Settings** and:
|
||||
1. Go to **System**, open the **Processor** tab and tick **Enable PAE/NX**.
|
||||
2. Go to **Audio** and set **Audio Controller** to **SoundBlaster 16**.
|
||||
|
||||
|
|
|
@ -61,7 +61,7 @@ boot_pd3_pt1023:
|
|||
.global start
|
||||
.type start, @function
|
||||
|
||||
.extern init
|
||||
.extern init
|
||||
.type init, @function
|
||||
|
||||
.extern multiboot_info_ptr
|
||||
|
@ -316,11 +316,11 @@ apic_ap_start32:
|
|||
orl $0x800, %eax
|
||||
wrmsr
|
||||
1:
|
||||
|
||||
|
||||
/* load the bsp's cr3 value */
|
||||
movl (ap_cpu_init_cr3 - apic_ap_start)(%ebp), %eax
|
||||
movl %eax, %cr3
|
||||
|
||||
|
||||
/* enable PAE + PSE */
|
||||
movl %cr4, %eax
|
||||
orl $0x60, %eax
|
||||
|
@ -340,9 +340,9 @@ apic_ap_start32_2:
|
|||
/* flush the TLB */
|
||||
movl %cr3, %eax
|
||||
movl %eax, %cr3
|
||||
|
||||
|
||||
movl $0xc0008000, %ebp
|
||||
|
||||
|
||||
/* now load the final gdt and idt from the identity mapped area */
|
||||
movl (ap_cpu_gdtr - apic_ap_start)(%ebp), %eax
|
||||
lgdt (%eax)
|
||||
|
@ -354,20 +354,20 @@ apic_ap_start32_2:
|
|||
movl %eax, %cr0
|
||||
movl (ap_cpu_init_cr4 - apic_ap_start)(%ebp), %eax
|
||||
movl %eax, %cr4
|
||||
|
||||
|
||||
/* push the Processor pointer this CPU is going to use */
|
||||
movl (ap_cpu_init_processor_info_array - apic_ap_start)(%ebp), %eax
|
||||
addl $0xc0000000, %eax
|
||||
movl 0(%eax, %esi, 4), %eax
|
||||
push %eax
|
||||
|
||||
|
||||
/* push the cpu id, 0 representing the bsp and call into c++ */
|
||||
incl %esi
|
||||
push %esi
|
||||
|
||||
|
||||
xor %ebp, %ebp
|
||||
cld
|
||||
|
||||
|
||||
/* We are in identity mapped P0x8000 and the BSP will unload this code
|
||||
once all APs are initialized, so call init_ap but return to our
|
||||
infinite loop */
|
||||
|
|
|
@ -26,9 +26,9 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
/*
|
||||
/*
|
||||
* If linux/types.h is already been included, assume it has defined
|
||||
* everything we need. (cross fingers) Other header files may have
|
||||
* everything we need. (cross fingers) Other header files may have
|
||||
* also defined the types that we need.
|
||||
*/
|
||||
#if (!defined(_LINUX_TYPES_H) && !defined(_BLKID_TYPES_H) && !defined(_EXT2_TYPES_H))
|
||||
|
|
|
@ -14,10 +14,10 @@
|
|||
<p>Thank you for checking it out :^)</p>
|
||||
<p style="padding-top: 4; padding-bottom: 4; padding-left: 4; padding-right: 4; background-color: #ea4aaa; text-align: center;"><b>Andreas</b>
|
||||
(
|
||||
<a href="https://github.com/awesomekling">GitHub</a> |
|
||||
<a href="https://youtube.com/c/AndreasKling">YouTube</a> |
|
||||
<a href="https://twitter.com/awesomekling">Twitter</a> |
|
||||
<a href="https://patreon.com/serenityos">Patreon</a> |
|
||||
<a href="https://github.com/awesomekling">GitHub</a> |
|
||||
<a href="https://youtube.com/c/AndreasKling">YouTube</a> |
|
||||
<a href="https://twitter.com/awesomekling">Twitter</a> |
|
||||
<a href="https://patreon.com/serenityos">Patreon</a> |
|
||||
<a href="https://paypal.me/awesomekling">PayPal</a> )
|
||||
</p>
|
||||
</div>
|
||||
|
|
|
@ -45,7 +45,7 @@
|
|||
01:00000016 drwxr-xr-x 1024 2018-10-02 23:43:49 ../
|
||||
01:00000018 -rw-r--r-- 18 2018-10-02 23:44:09 file1
|
||||
01:00000019 -rw-r--r-- 18 2018-10-02 23:44:14 file2
|
||||
::>
|
||||
::>
|
||||
</pre>
|
||||
<div>
|
||||
<p><b>2018-10-10:</b> The first ever "screenshot" of what became Serenity:</p>
|
||||
|
@ -207,10 +207,10 @@
|
|||
<i>Andreas Kling, 2019-10-10</i>
|
||||
</p>
|
||||
<p>
|
||||
<a href="https://github.com/awesomekling">GitHub</a> |
|
||||
<a href="https://youtube.com/c/AndreasKling">YouTube</a> |
|
||||
<a href="https://twitter.com/awesomekling">Twitter</a> |
|
||||
<a href="https://patreon.com/serenityos">Patreon</a> |
|
||||
<a href="https://github.com/awesomekling">GitHub</a> |
|
||||
<a href="https://youtube.com/c/AndreasKling">YouTube</a> |
|
||||
<a href="https://twitter.com/awesomekling">Twitter</a> |
|
||||
<a href="https://patreon.com/serenityos">Patreon</a> |
|
||||
<a href="https://paypal.me/awesomekling">PayPal</a>
|
||||
</p>
|
||||
</body>
|
||||
|
|
|
@ -149,7 +149,7 @@
|
|||
Someone put together a CTF (Capture The Flag) challenge at the
|
||||
36c3 computer security conference. I learned about this when
|
||||
two exploits showed up (complete with write-ups!) on GitHub:
|
||||
|
||||
|
||||
<a href="https://github.com/Fire30/CTF-WRITEUPS/tree/master/36c3_ctf/wisdom">one from Fire30</a> and <a href="https://github.com/braindead/ctf-writeups/tree/master/2019/36c3/wisdom">another one from braindead</a>.
|
||||
<br><br>
|
||||
This caught me by total surprise and I was a little bit disappointed
|
||||
|
@ -426,10 +426,10 @@
|
|||
<i>Andreas Kling, 2020-10-10</i>
|
||||
</p>
|
||||
<p>
|
||||
<a href="https://github.com/awesomekling">GitHub</a> |
|
||||
<a href="https://youtube.com/c/AndreasKling">YouTube</a> |
|
||||
<a href="https://twitter.com/awesomekling">Twitter</a> |
|
||||
<a href="https://patreon.com/serenityos">Patreon</a> |
|
||||
<a href="https://github.com/awesomekling">GitHub</a> |
|
||||
<a href="https://youtube.com/c/AndreasKling">YouTube</a> |
|
||||
<a href="https://twitter.com/awesomekling">Twitter</a> |
|
||||
<a href="https://patreon.com/serenityos">Patreon</a> |
|
||||
<a href="https://paypal.me/awesomekling">PayPal</a>
|
||||
</p>
|
||||
<script>
|
||||
|
|
|
@ -9,7 +9,7 @@ cd "$script_path/.." || exit 1
|
|||
# To eliminate the need for these symbols, avoid doing non-trivial construction of local statics in LibC.
|
||||
|
||||
FORBIDDEN_SYMBOLS="__cxa_guard_acquire __cxa_guard_release"
|
||||
LIBC_PATH="Build/Userland/Libraries/LibC/libc.a"
|
||||
LIBC_PATH="Build/Userland/Libraries/LibC/libc.a"
|
||||
for forbidden_symbol in $FORBIDDEN_SYMBOLS; do
|
||||
# check if symbol is undefined
|
||||
if nm $LIBC_PATH | grep "U $forbidden_symbol" ; then
|
||||
|
|
|
@ -16,7 +16,7 @@ die() {
|
|||
|
||||
# To support virtualization acceleration on mac
|
||||
# we need to use 64-bit qemu
|
||||
if [ "$(uname)" = "Darwin" ] && [ "$(uname -m)" = "x86_64" ]; then
|
||||
if [ "$(uname)" = "Darwin" ] && [ "$(uname -m)" = "x86_64" ]; then
|
||||
|
||||
[ -z "$SERENITY_QEMU_BIN" ] && SERENITY_QEMU_BIN="qemu-system-x86_64"
|
||||
|
||||
|
|
|
@ -117,7 +117,7 @@ Everyone gets this wrong. most platforms are very lax with these includes, but w
|
|||
|
||||
### Status
|
||||
- [X] Local?
|
||||
- [ ] Should be merged to upstream?
|
||||
- [ ] Should be merged to upstream?
|
||||
- [ ] Resolves issue(s) with our side of things
|
||||
- [ ] Hack
|
||||
|
||||
|
@ -127,7 +127,7 @@ Our libstdc++ does not define `std::atoll`, this patch uses the equivalent C fun
|
|||
|
||||
### Status
|
||||
- [ ] Local?
|
||||
- [ ] Should be merged to upstream?
|
||||
- [ ] Should be merged to upstream?
|
||||
- [X] Resolves issue(s) with our side of things
|
||||
- [ ] Hack
|
||||
|
||||
|
@ -137,7 +137,7 @@ These two defines make GCC very sad. reasons are unknown at this time.
|
|||
|
||||
### Status
|
||||
- [ ] Local?
|
||||
- [ ] Should be merged to upstream?
|
||||
- [ ] Should be merged to upstream?
|
||||
- [X] Resolves issue(s) with our side of things
|
||||
- [X] Hack
|
||||
|
||||
|
@ -219,7 +219,7 @@ For unknown reasons, `curl_setup_once.h` does not include `sys/stat.h`. this pat
|
|||
|
||||
### Status
|
||||
- [ ] Local?
|
||||
- [ ] Should be merged to upstream?
|
||||
- [ ] Should be merged to upstream?
|
||||
- [X] Resolves issue(s) with our side of things
|
||||
- [X] Hack
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
- No DNS support.
|
||||
- No proxy support.
|
||||
- Assumes SSH2.0 for now.
|
||||
- Cannot determine compatibility flags.
|
||||
- Cannot determine compatibility flags.
|
||||
This means there may be some weird bugs when connecting to certain SSH implementations.
|
||||
- SSHD does not work as it requires socketpair. It will start, but will crash on connection.
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
@GUI::Widget {
|
||||
layout: @GUI::HorizontalBoxLayout {
|
||||
}
|
||||
|
||||
|
||||
max_height: 24
|
||||
|
||||
@GUI::Label {
|
||||
|
@ -43,11 +43,11 @@
|
|||
name: "name_input"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@GUI::Widget {
|
||||
layout: @GUI::HorizontalBoxLayout {
|
||||
}
|
||||
|
||||
|
||||
max_height: 24
|
||||
|
||||
@GUI::Label {
|
||||
|
@ -60,7 +60,7 @@
|
|||
name: "create_in_input"
|
||||
text: "/home/anon/Source"
|
||||
}
|
||||
|
||||
|
||||
@GUI::Button {
|
||||
name: "browse_button"
|
||||
text: "Browse"
|
||||
|
@ -71,7 +71,7 @@
|
|||
@GUI::Widget {
|
||||
layout: @GUI::HorizontalBoxLayout {
|
||||
}
|
||||
|
||||
|
||||
max_height: 24
|
||||
|
||||
@GUI::Label {
|
||||
|
@ -90,22 +90,22 @@
|
|||
max_height: 22
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@GUI::Widget {
|
||||
layout: @GUI::HorizontalBoxLayout {
|
||||
}
|
||||
|
||||
|
||||
max_height: 24
|
||||
|
||||
@GUI::Widget {
|
||||
}
|
||||
|
||||
|
||||
@GUI::Button {
|
||||
name: "ok_button"
|
||||
text: "OK"
|
||||
max_width: 75
|
||||
}
|
||||
|
||||
|
||||
@GUI::Button {
|
||||
name: "cancel_button"
|
||||
text: "Cancel"
|
||||
|
|
|
@ -592,7 +592,7 @@ FLATTEN void UnsignedBigInteger::shift_left_without_allocation(
|
|||
* Multiplication method:
|
||||
* An integer is equal to the sum of the powers of two
|
||||
* according to the indexes of its 'on' bits.
|
||||
* So to multiple x*y, we go over each '1' bit in x (say the i'th bit),
|
||||
* So to multiple x*y, we go over each '1' bit in x (say the i'th bit),
|
||||
* and add y<<i to the result.
|
||||
*/
|
||||
FLATTEN void UnsignedBigInteger::multiply_without_allocation(
|
||||
|
|
|
@ -4,7 +4,7 @@ Multi-process model:
|
|||
|
||||
Server Client
|
||||
|
||||
WebContent GUI process (OutOfProcessWebView embedder)
|
||||
WebContent GUI process (OutOfProcessWebView embedder)
|
||||
|
||||
OutOfProcessWebView (this is a GUI::Widget)
|
||||
WebContent::ClientConnection <---> WebContentClient
|
||||
|
|
Loading…
Add table
Reference in a new issue