cc04bd0f06
LibC/Kernel: Implement ttyname_r
2025-07-31 22:47:40 +03:00
e72e1e4e43
LibC: Add _SC_NPROCESSORS_{CONF,ONLN)
2025-07-31 22:47:40 +03:00
987cc3c237
3000th COMMIT: ports: Add halflife port
2025-07-31 22:47:34 +03:00
935f69e011
ports: Add freetype port
2025-07-31 22:47:29 +03:00
9f0c2fb6e2
ports: Apply only patches ending in .patch
2025-07-31 22:47:29 +03:00
9b18bda9c8
Kernel: Make epoll always check for HUP and ERR
2025-07-31 22:47:29 +03:00
7831c74e8c
DynamicLoader: Add support for LD_LIBRARY_PATH
...
Also fix a bug with dlopen with TLS
2025-07-31 22:47:29 +03:00
c1978f9133
Shell: Implement redirections
...
This works well enough. At the moment redirections can appear anywhere
in the command **after** environment variables and possible alias
command. This means commands like `>foo echo hello` are not supported.
I don't think this is big enough problem for now (99% time redirections
are given after arguments) that i would rewrite the environment and
alias parsing.
2025-07-22 16:54:06 +03:00
05affda20c
ports: Add python3 port
2025-07-22 14:11:09 +03:00
e2eb555ca0
LibC: Add dummy libintl support
...
This doesn't really do anything but allows some ports to use it :D
2025-07-22 13:26:53 +03:00
418c3c9cfa
ports: Remove unneeded libtool files after install
2025-07-22 10:32:52 +03:00
bc66e181a5
ports: Update to new config.sub syntax
...
There is no longer need to manually patch config.sub files!
2025-07-22 10:31:56 +03:00
6971f76bd3
ports: Add support for downloading upstream config.sub
...
banan-os is now in the upstream config.sub. This means no more
config.sub patches!
2025-07-22 10:13:41 +03:00
1e65f02ff7
Terminal: Handle bell and warn on unimplemented control characters
2025-07-21 14:28:09 +03:00
4efaf65d3f
BuildSystem: Use usb-tablet instead of usb-mouse
...
This allows sharing mouse between host and guest!
2025-07-19 18:02:07 +03:00
aa0249fadb
WindowServer: Support absolute position mouse
2025-07-19 18:01:23 +03:00
2c65590134
Kernel: Add support for absolute position mouse
2025-07-19 18:00:39 +03:00
a0d1a9ad67
Kernel: Fix PIT::prescheduler_sleep_ns
...
I don't even know what I was doing here :D
2025-07-19 01:25:46 +03:00
5df6270e32
Kernel: Clobber flags in rdrand
2025-07-18 19:36:37 +03:00
7af6e1cd34
Kernel: Ignore HID main item tag 0
...
This for some reason exists in vmware's usb devices
2025-07-18 19:11:12 +03:00
cceb066284
Kernel: Don't use IST on 32 bit target
...
This only exists in 64 bit
2025-07-18 19:10:48 +03:00
7a054787ca
Kernel: Don't print error if root is empty
...
This is used when loading filesystem from initrd
2025-07-18 19:09:43 +03:00
d27891c79f
Kernel: Fix correct IOAPIC lookup based on gsi
2025-07-18 19:09:20 +03:00
5874fd640e
Kernel: Fix TmpFS for 32 bit target
...
There was a problem when sizeof(size_t) != sizeof(PageInfo)
2025-07-18 19:07:32 +03:00
11ae220dbe
LibImage: Optimize image resizing algorithms
2025-07-18 18:20:37 +03:00
22542a3a71
BuildSystem: Enable sse and sse2 for all programs and libraries
...
This is default on x86_64 but not on the 32 bit target. banan-os
already requires the CPU to support SSE even on 32 bit platforms.
2025-07-18 18:20:37 +03:00
e16fb6a8e9
Kernel: Don't validate allowed null pointers on syscalls
2025-07-17 22:14:04 +03:00
d941e6d70b
General: Update README features and environment variables
2025-07-17 21:45:48 +03:00
b65068dc7d
BuildSystem: Add support for building initrd image
...
This is nice for testing when there isn't xhci controller available or
my usb stack fails :)
2025-07-17 21:45:48 +03:00
d5301508ec
Kernel: Increase kernel thread stack size
...
HACK HACK HACK
This is just to make banan-os boot on one razer laptop where AML
triggers a stack overflow :)
2025-07-17 21:21:14 +03:00
793cca423b
Kernel: Fix system timer disabling
...
I was actually not disabling system timer (HPET, PIT) when using lapic
timers for scheduling. This made BSB get too many timer interrupts :D
2025-07-16 20:02:04 +03:00
3960687f9d
Kernel: Parse PCIConfig opregion address on read/write
...
I was testing on some hardware and _ADR does not have to exist in the
namespace when opregion is parsed :)
2025-07-16 15:34:36 +03:00
3ec7aad432
Kernel: Increase PS/2 timeout and detect more keyboards
...
I was testing on a old T61
2025-07-16 15:29:27 +03:00
84f1ad4f26
ports: Fix doom compilation with the new toolchain
2025-07-15 16:12:03 +03:00
6b9dbf625d
userspace: Add audio utility to play audio files
2025-07-15 16:12:03 +03:00
3aea2c007d
Userspace: Add simple AudioServer and LibAudio
2025-07-15 16:12:03 +03:00
85d195212a
BuildSystem: Update qemu script and add ac97
2025-07-15 14:17:49 +03:00
8a663cb94f
Kernel: Implement basic AC97 driver
2025-07-15 14:17:49 +03:00
674e194a91
Kernel: Don't fail PCI interrupt allocation with PCIe and no PCI
2025-07-15 14:17:49 +03:00
c57f0abb56
BuildSystem: Order source list alphabetically
2025-07-15 14:17:49 +03:00
163fdcd582
LibC: Fix exec family function path resolution
2025-07-15 14:17:49 +03:00
3be17c6117
BAN: Add clear and access by index to CircularQueue
2025-07-10 17:24:40 +03:00
995dfa1455
Kernel: Fix AML PCIConfig OpRegion accesses
...
Apparently I'm not supposted to calculate device/function from the
offset, but parse them from the acpi namespace :)
This allows PCI PIN interrupt routing actually work
2025-07-04 13:21:02 +03:00
544c8dbc13
Kernel: Optimize AML interpreter stack usage
...
There is a very hacky no-inline hack that I am not proud of but it drops
the stack usage of few functions A LOT.
Previously Virtual Box could not boot with our 8 page stack, but these
changes allow it to boot on 5!
2025-07-03 00:49:23 +03:00
8da4f80453
Kernel: Add custom stack to double fault handler
...
This prevents triple faults!
2025-07-02 23:14:52 +03:00
6084aae603
Kernel: Add guard pages to kernel and userspace stacks
2025-07-02 23:12:36 +03:00
e1319a06f2
Kernel: Remove accidentally commited debug prints
2025-07-02 23:09:57 +03:00
51fd7a607d
Kernel: Fix IDE controller waiting
...
We did not correctly wait until controller is ready to receive data on
write command. Also remove possible kernel panic if controller sends
unexpected interrupts
2025-07-02 22:04:41 +03:00
8aff315c7b
LibC: fflush file in setvbuf before updating the buffer
2025-07-02 01:54:03 +03:00
8e0d79f301
ports: Fix make compilation with new toolchain
2025-07-02 01:54:03 +03:00