summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-03-06Ports/git: Forcing NO_IPV6 option.Jorropo
This fixes the build, how ever I don't know why the auto detection broke in the first place.
2021-03-06Ports: Add bzip2 portLuke
Saw that it can be included with the freetype port, so I added it.
2021-03-06LibWeb: Make CSS background image painting respect destination origin and ↵Mihai Parparita
transparency It was previously using draw_tiled_bitmap, which always aligns the tiles with the global origin and does not respect the alpha of the source. Switch to a new Painter::blit_tiled helper which uses Painter::blit under the hood, which has more correct behavior.
2021-03-06WebContent: Set correct scroll offset for PageHost paintingspeles
2021-03-06Ports: Add zlib dependency to libpngLuke
I didn't have zlib installed when I was trying to compile libpng. It said it was missing, so add a dependency to zlib.
2021-03-06Base: Add egrep and rgrep aliases to /etc/shellrcBrendan Coles
2021-03-06LibM: optimized (branchless) copysignNick Wanninger
2021-03-06HackStudio: Restart LanguageServer if it crashesItamar
We now restart the language server transparently if it crashes. If the language server crashes too frequently (current threshold is twice within 3 seconds), we give up and will not attempt to restart it again. HackStudio will still work fine, but features that depend on the language server will not function. To support this change we use a new class, 'ServerConnectionWrapper', that holds the actual ServerConnection and is responsible for restarting the language-server if it crashes. Closes #5574.
2021-03-06LanguageServers: Support calling SetFileContent with not-yet open filesItamar
Also, use dbgln_if
2021-03-06LanguageServers: Tweak FileDB APIItamar
- FileDB::get() now returns nullptr if the file is not in the FileDB - Added FileDB::get_or_create_from_filesystem() - Added FileDB::add() version that receives that file's content as a parameter
2021-03-06HackStudio: Add ProjectFile::create_if_neededItamar
2021-03-06HackStudio: Create Language enum from file extension or language nameItamar
2021-03-06HackStudio: Remove redundant null check when creating a new project fileItamar
Project::get_file returns a NonNullRefPtr
2021-03-06HackStudio: Make sure project files are created with an absolute pathItamar
This fixes an issue were "Find in Files" would not use the up-to-date content of a file with unsaved changes. The issue existed because 'FindInFilesWidget' uses Project::for_each_text_file, which retrieves files by their absolute path. However, when a file is opened in an Editor, it is created with a relative path. This caused us to store two ProjectFile objects that refer to the same file - one with a relative path and one with an absolute path.
2021-03-06HackStudio: Map connections to langauge-servers by language nameItamar
HackStudio keeps a map that stores the different ServerConnection instances we have open. Previously, that map was indexed by a project's root path. This did not make much sense because we only support opening a single project with each instance of the HackStudio program. We now index the different ServerConnections by the language name, which allows us to support talking to multiple language-servers in the same project (e.g C++ and Shell). This also fixes an issue where if you first opened a Shell file, and then a C++ file in the same project, then C++ language-server features would not work.
2021-03-06LibCpp: Don't crash on an empty '#' lineItamar
Closes #5634
2021-03-06LanguageServers/Cpp: Allow the creation of DocumentData objects to failItamar
This fixes langauge-server crashes when trying to parse non-existant header files, such as #include <new>. Closes #5569.
2021-03-06LibCpp: Check if type is null in VariableDeclaration::dumpItamar
2021-03-05Ports: Add FreeType 2.10.4Andreas Kling
2021-03-05LibM: Add naive implementation of copysign()Andreas Kling
2021-03-05AK: Implement IsEnum<T> and UnderlyingType<T> type traitsBrian Gianforcaro
I needed these meta-programming type traits while working on something else. Add basic support for these two type traits as well as some tests.
2021-03-05Kernel: Implement ScatterList for handling scattered DMA pagesLiav A
This class is used in the AHCI code to handle a big request of read/write to the disk. If we happen to encounter such request, we will get the needed amount of physical pages from the already-allocated physical pages in AHCIPort, and with that we will create a ScatterList that will create a Region that maps all of these pages in a contiguous virtual memory range. Then, we could easily copy to/from this range, before and after calling the operation on the StorageDevice as needed with read or write operations.
2021-03-05Kernel: Add AnonymousVMObject constructor for a Vector of physical pagesLiav A
This will be used later on by the AHCI code to create a Region that spans over scattered DMA pages.
2021-03-05Meta: Boot Q35 machine with SATA drive instead of using IDE driveLiav A
2021-03-05Kernel: Add basic AHCI functionalityLiav A
The hierarchy is AHCIController, AHCIPortHandler, AHCIPort and SATADiskDevice. Each AHCIController has at least one AHCIPortHandler. An AHCIPortHandler is an interrupt handler that takes care of enumeration of handled AHCI ports when an interrupt occurs. Each AHCIPort takes care of one SATADiskDevice, and later on we can add support for Port multiplier. When we implement support of Message signalled interrupts, we can spawn many AHCIPortHandlers, and allow each one of them to be responsible for a set of AHCIPorts.
2021-03-05AK: Add a full memory barrier function based on atomic operationsLiav A
We use atomic_signal_fence and atomic_thread_fence together to prevent reordering of memory accesses by the CPU and the compiler. The usage of these functions was suggested by @tomuta so we can be sure that important memory accesses happen in the expected order :)
2021-03-05Kernel: Use global mechanism to determine minor number of Storage DeviceLiav A
2021-03-05Kernel: Make ATA macros to be publicLiav A
2021-03-05Kernel: Add enum values for later implementation of AHCILiav A
2021-03-05Kernel: Add Declaration of IDEChannel class in PATADiskDevice.hLiav A
2021-03-05Profiler: Get perfcore file from ArgsParserLinus Groh
Fixes #5641.
2021-03-04Shell: Document all supported PROMPT flagsBen Wiederhake
2021-03-04Meta: Search for the correct ccache cache keyBen Wiederhake
"Hmm, 'toolchain' is a better name here!" I said, and changed the key name. And then I promptly forgot to update the restore-key value. D'oh!
2021-03-04LibC: Fix typo in fenv.hMițca Dumitru
`FE_TOWARDSZERO` is actually spelled `FE_TOWARDZERO` (without the 'S')
2021-03-04Kernel: Define a KERNEL_VIRTUAL_BASE in the linker scriptAndreas Kling
Slightly nicer than saying "0xc0000000" over and over.
2021-03-04Kernel: Make the kernel compile & link for x86_64Andreas Kling
It's now possible to build the whole kernel with an x86_64 toolchain. There's no bootstrap code so it doesn't work yet (obviously.)
2021-03-04Kernel: Remove repeated_{in,out}16()Andreas Kling
These were some wrappers around x86 "insw/outsw" that are no longer used for anything, so let's remove them.
2021-03-04SystemMonitor: Return icon display data as GUI::Iconsthankyouverycool
And delete the generic icon member which has been dormant since switching to FileIconProvider. Fixes icon column not being properly painted as icon cells.
2021-03-04LibGUI: Increase row height in Table/ColumnViews and center iconsthankyouverycool
16x16 icons are now guaranteed at least 1px margins between rows
2021-03-04Kernel: Stop trying to keep InodeVMObject in sync with disk changesAndreas Kling
As it turns out, Dr. POSIX doesn't require that post-mmap() changes to a file are reflected in the memory mappings. So we don't actually have to care about the file size changing (or the contents.) IIUC, as long as all the MAP_SHARED mappings that refer to the same inode are in sync, we're good. This means that VMObjects don't need resizing capabilities. I'm sure there are ways we can take advantage of this fact.
2021-03-04Documentation: Re-arrange Linux prerequisites in build instructionsDan MacDonald
2021-03-04Meta: Use and cache ccache on Github ActionsBen Wiederhake
2021-03-04Kernel: Remove unused KMALLOC_DEBUG_LARGE_ALLOCATIONS modeAndreas Kling
This was a thing back when the system was so little that any kernel allocation above 1 MiB was basically guaranteed to be a bug. :^)
2021-03-04AK: Simplify Bitmap and implement in terms of BitmapViewAndreas Kling
Add Bitmap::view() and forward most of the calls to BitmapView since the code was identical. Bitmap is now primarily concerned with its dynamically allocated backing store and BitmapView deals with the rest.
2021-03-04LibCrypto: Use BitmapView instead of Bitmap::wrap()Andreas Kling
2021-03-04Kernel: Use BitmapView instead of Bitmap::wrap()Andreas Kling
2021-03-04AK: Add BitmapView class (like StringView but for bitmaps)Andreas Kling
AK::Bitmap is an awkwardly modal class which can either own or wrap the underlying data. To get ourselves out of this unpleasant situation, this patch adds BitmapView to replace the wrapped mode. A BitmapView is simply a { data pointer, bit count } tuple internally and provides all the convenient functionality of a bitmap class.
2021-03-04CI: Build with -DENABLE_PCI_IDS_DOWNLOAD=OFFLinus Groh
Closes #5611.
2021-03-04Build: Download and uncompress gzipped version of pci.idsLinus Groh
Partially addresses #5611.
2021-03-04Build: Add ENABLE_PCI_IDS_DOWNLOAD CMake optionLinus Groh
This allows disabling the download of the pci.ids database at build time. Addresses concerns raised in #5410.