Commit Graph
100 Commits
Author SHA1 Message Date
X512 912bdb2aca busses/pci/ecam: add
Change-Id: I8decef75a2d7f30bb5d45fc4774037d6a92bc161
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6223
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2023-04-25 15:54:32 +00:00
X512 a23ac85fa9 bus_managers/pci: split PCI controller to separate add-on
busses/pci/x86: add
Other add-ons are in following commits.

Change-Id: I7a77bfaef0e8995917b4b54c8369d7075533ec26
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6220
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2023-04-25 15:54:32 +00:00
X512 97b7c7719d bus_managers/pci: move MSI handling to generic code
Change-Id: I6194838b7b46222f720fc328bb4512fdb88a9c8a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6222
Reviewed-by: Adrien Destugues <[email protected]>
2023-04-25 15:54:32 +00:00
X512 e942269a1f pci: generic MSI interrupts support
Change-Id: Ib4fd23f6bca867a2b428bf2651234d719ee08672
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6221
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2023-04-25 15:54:32 +00:00
X512 0ec55fb069 framebuffer: fix NULL framebuffer address for non-x86
Change-Id: Ib24d4c04da102f40907002f59550635616b9a290
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6313
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2023-04-11 15:57:01 +00:00
X512 11e68e0c54 apps/haiku3d: Swap then unlock to fix rendering on glvnd
* The old non-EGL OpenGL kit did some weird stuff (tm) trying
  to fix Be's mistakes around OpenGL locking.
* The EGL libglvnd OpenGL kit (coming soon) no longer does wierd
  unlocking behaviours. This fixes a "white screen" for Haiku3D

Change-Id: I2a6804098516c0cd9ec63ccd1eb25c0813452933
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6267
Reviewed-by: waddlesplash <[email protected]>
2023-03-30 20:03:20 +00:00
X512 a83ee8cf77 build: enable network driver build for riscv64
Change-Id: I954c78a98103abdf98ed96e1a639e9d9e2f0ddc8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6235
Reviewed-by: Fredrik Holmqvist <[email protected]>
Tested-by: Automation <[email protected]>
2023-03-20 22:14:15 +00:00
X512 5865e68ef2 kernel/riscv: timer freq calculation, interrupt handling fixes
Change-Id: Ibe8b260a49c1b6e51df06f82b6c3a066c44accb1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6219
Reviewed-by: X512 <[email protected]>
Reviewed-by: Alex von Gluck IV <[email protected]>
2023-03-20 16:52:27 +00:00
X512 604b6f7e9b fdt: implement '#address-cells', '#size-cells' support
Change-Id: Ic1c1e75b9352d676da6f07ebd05b0491bd41f7a8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6218
Reviewed-by: Alex von Gluck IV <[email protected]>
2023-03-20 16:52:27 +00:00
X512 408a7e27d9 kernel: implement clear_caches for riscv64
Change-Id: I28296725ce22b47e94481abf794b92cf4ffd98a5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6217
Tested-by: Automation <[email protected]>
Reviewed-by: Alex von Gluck IV <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2023-03-20 14:24:26 +00:00
X512 1e4146cbc6 RISCV64VMTranslationMap: add missing instruction cache invalidation
Change-Id: Ie4081a3642e5de84865895e81aaa28f090b2c5eb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6216
Tested-by: Automation <[email protected]>
Reviewed-by: Alex von Gluck IV <[email protected]>
2023-03-20 14:23:54 +00:00
X512 6d13693a78 kernel/int: increase max interrupt vector count
Change-Id: Ia16e66a7bdac37019e6256405b9f10024909c69a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6215
Tested-by: Automation <[email protected]>
Reviewed-by: Fredrik Holmqvist <[email protected]>
Reviewed-by: Alex von Gluck IV <[email protected]>
2023-03-20 14:23:54 +00:00
X512 1bb04f4a43 preferences/Keymap: use transparent background, reduce stamping artifacts
Change-Id: I4109808f81659f86c8dd75f16e38b5eca6fdbc9c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6188
Tested-by: Automation <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2023-03-20 07:28:54 +00:00
X512 7003a4cb1d i2c/ocores: add fdt compat for HiFive Unmatched
Change-Id: I325a33d224e4711c71e324ac2afeae2dffc8aaeb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5952
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Alex von Gluck IV <[email protected]>
2023-01-09 14:54:02 +00:00
X512 f6c51a5dc4 BBitmap: add ability to specify client-defined area
Change-Id: Iae1550b3088b0f6c26b0b91d9acb7f7cbcc721d3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4369
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: X512 <[email protected]>
Reviewed-by: Fredrik Holmqvist <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2023-01-02 18:07:53 +00:00
X512 ad59349e16 runtime_loader: dequeue disposable image before calling image finalizers
Fix #18181.

Change-Id: I2e86d72eb2b32b807364fb45126080540e62dcdf
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5970
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: Alex von Gluck IV <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2022-12-29 18:58:09 +00:00
X512 85d9d60045 ocores_i2c: add
Change-Id: Ib48f8dbc0bf485b469b590f1472994d250b6ed45
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5900
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
2022-12-20 15:11:32 +00:00
X512 215b685f7f kernel: Drop non-standard GNU inline assignment syntax
* We needed this previously due to our gcc2 compiled kernel.
* Now that our kernel is always latest gcc, we can move to the
  c++20 syntax for inline assignment.
* Improves compatibility with clang, less GNU-specific stuff

Change-Id: Ib7272a0a52554a31e9a0e788fd3f031db9049795
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5898
Reviewed-by: Alex von Gluck IV <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2022-12-13 20:49:53 +00:00
X512 54fb2560ae bus_managers/fdt: register multiple fdt/compatible attrs
Change-Id: I71efa8051d104d4b6a627071cd231c887271eb2e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5901
Reviewed-by: Adrien Destugues <[email protected]>
2022-12-13 01:55:44 +00:00
X512 36fa4b7e7d debug_server: improve stack trace
Change-Id: I94fc9e9e547f0191484cad8e7dc6e8b233b981db
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4299
Reviewed-by: David Karoly <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2022-12-12 15:49:12 +00:00
X512 fa557843f2 riscv: use atomic CSR bit set/clear operations, refactor
Fix race conditions that cause broken timer interrupts.

Change-Id: I78e13a18d394b1566977e894a1def16a66c9ca5f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5883
Reviewed-by: X512 <[email protected]>
Reviewed-by: Alex von Gluck IV <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2022-12-11 18:43:15 +00:00
X512 bf2786efae kernel: enable ramfs build and automount to shared_memory directory
This will allow proper operation of POSIX SHM API (shm_open etc.).
Now memory files are stored fully in memory and do not affect disk
storage (except swap if enabled).

Change-Id: Iae3ce1afa968df72e82198e598a273cbf7cb0269
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5802
Reviewed-by: Fredrik Holmqvist <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2022-12-01 02:09:21 +00:00
X512 f0e187c3fd kernel: follow-up to hrev56619: use new(std::nothrow)
to handle allocation failures.

Change-Id: I15d84b24dcea17741382b1d5285acf6219a39811
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5868
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2022-11-30 23:48:17 +00:00
X512 8426404f97 pch_i2c: move to its own directory
Prepare for more i2c host controller drivers.

Change-Id: I85a4faf8376ffb501994a2bd89e0903bd89ed8cf
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5856
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
2022-11-30 05:11:51 +00:00
X512 8be7c1aa58 kernel/file_cache: fix VMCache object leak
Fixes #18039.

Change-Id: Ia3cda69f91e56efb36931a97028378ec3ceb2100
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5801
Reviewed-by: Fredrik Holmqvist <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2022-11-05 13:27:15 +00:00
X512 ede527512e bfs_shell: fix gcc2 build
Fix regression that building Haiku on 32 bit Haiku become not possible.

Change-Id: I527a8c3bc3ad4744d5515a76888d5cac06293cbe
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5750
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2022-11-02 16:21:43 +00:00
X512 b71020b095 util/DoublyLinkedList: make GetPrevious/GetNext methods static
This methods do not need DoublyLinkedList class state.

sGetLink field that actually implement GetPrevious/GetNext methods is already static.

Change-Id: Ie0b40f7f1b72d640d75403905b8944666874dc87
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5796
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2022-11-02 02:12:41 +00:00
X512 fe084f0b03 virtio_mmio: fix config space access using 1,2,4-byte memory access
Change-Id: I596da650be81a596efcbe7e3abecf2a4da3a8459
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5747
Reviewed-by: Jérôme Duval <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2022-10-24 06:31:15 +00:00
X512 74a5cb7bbc shared: move ScopeExit from riscv64 arch kernel code
this file is c++11 only.

Change-Id: Ibff7acec00337a9f56f9b8e29ea262c8d64c2446
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5292
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Fredrik Holmqvist <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
2022-09-21 16:09:33 +00:00
X512 e89109f5df libroot/arch/arm: use TLS for getting current thread ID
Change-Id: I424f4029f29a362af9b1ea814b518d59aeae271d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5541
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: David Karoly <[email protected]>
2022-08-11 18:47:01 +00:00
X512 b0f1a82469 kernel/arch/arm: fix stack trace
Change-Id: I51d789b4de312c604184d697e9a0a695534d42d8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5540
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: David Karoly <[email protected]>
2022-08-11 18:47:01 +00:00
X512 150feceeae kernel/device_manager: fix virtio_mmio driver loading
Change-Id: I9d2a99e79ff46482a45ef3eea398ba8c627cea2a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4717
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: X512 <[email protected]>
Reviewed-by: David Karoly <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: Fredrik Holmqvist <[email protected]>
2022-08-04 09:37:23 +00:00
X512 4ac797a9cf kernel/arch/riscv64: implement breakpoint interrupt
Change-Id: I1e9f33e505a1de4be2e77535efe36bae96a982ce
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5293
Reviewed-by: Alex von Gluck IV <[email protected]>
2022-06-28 15:38:55 +00:00
X512 b2059b9f15 libroot: set __main_thread_id in libroot initialize_before instead of entry point
DT_INIT, DT_INIT_ARRAY, initialize_before, initialize_after are called before
executable entry point so __main_thread_id may be uninitalized there. It cause
getpid() to return zero if called in one of image initalizers before main().

Fixes #11797.

Change-Id: Ia745db9ffeaeb6de4dd46b868b1575d0780b54d9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5254
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2022-06-21 11:49:50 +00:00
X512 b69a359e11 freebsd_network: implement missing generic bus access functions.
Change-Id: I9ed7b0f4187d659df798eac1d01c4f0e1f978e73
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5352
Reviewed-by: waddlesplash <[email protected]>
2022-06-03 17:39:59 +00:00
X512 06d109315e jam: fix nightly-raw build for riscv64
Change-Id: Ife616cba1e294febf8ead772160af6cd21f8bce3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5246
Reviewed-by: waddlesplash <[email protected]>
2022-04-23 19:55:31 +00:00
X512 9e19c5aea4 libagg: use size_t for operator new argument
Fix Clang 14 build.

Change-Id: Iad914d4be13f19e60a2ad708321cd04db5096d09
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5245
Reviewed-by: waddlesplash <[email protected]>
2022-04-23 19:55:31 +00:00
X512 11e682bebb StorageKit: add missing forward definition
Change-Id: Iaa220548485f97589adb4779d7cb0012251e22ed
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5244
Reviewed-by: waddlesplash <[email protected]>
2022-04-23 19:55:31 +00:00
X512 98ed158acf StorageKit: remove old C++ header usage
Change-Id: I601639653798ddfe452ebb0d8d747b276e4d5f1b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5243
Reviewed-by: waddlesplash <[email protected]>
2022-04-23 19:55:31 +00:00
X512 1043e934e4 runtime_loader: drop linker script
It is not really needed and everything work fine without it.

Change-Id: I8d1312eba57325c3b80494b697d48aa21f9581a8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5163
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Fredrik Holmqvist <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2022-04-21 18:28:54 +00:00
X512 24eb3d5aba kernel: do not use assembly code for commpage signal handler
Unify with x86 and riscv64 implementation.

Change-Id: I2f44575768628eb3a2d4eaaa86f020de582ecd0b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5203
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
Reviewed-by: Fredrik Holmqvist <[email protected]>
2022-04-18 17:02:48 +00:00
X512 16e80b04a7 kernel: add missing support of simple signal handler for riscv64
Change-Id: Iab9d09344a99013b381b64d5438ded0a083b3a52
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5202
Reviewed-by: Rene Gollent <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2022-04-18 14:52:21 +00:00
X512 9dacea2ee7 remove unused linker scripts
Change-Id: Ia65c23d44b5f7cbae87d9cfcab411aa02f6f1fd0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5167
Reviewed-by: Fredrik Holmqvist <[email protected]>
2022-03-30 20:06:38 +00:00
X512 52a7b62f61 runtime_loader: disable importing its own symbols
Now only image relative relocations are produced. runtime_loader do not use symbol
resolution for itself and programs can't link with it. Also it is loaded in
special way and do not register in image list available for symbol resolution.
So there are no meaning in self importing.

Change-Id: Iff3cb0ee5ef1dd307134d52c3c911759c59a9b5c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5153
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: X512 <[email protected]>
Reviewed-by: Fredrik Holmqvist <[email protected]>
2022-03-29 20:40:18 +00:00
X512 ebeab0cf70 rumtime_loader: fix TLS for riscv64
Change-Id: I55593dea936af31135b8e9159f8b6a64270369c0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5157
Reviewed-by: X512 <[email protected]>
Reviewed-by: Alex von Gluck IV <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2022-03-27 16:15:41 +00:00
X512andJérôme Duval b19f5c839b kernel/x86: add ability to set GS segment base from userland
Needed for Wine.

Co-authored-by: Jérôme Duval <[email protected]>

Change-Id: I13f6a5802fce04fd2ebb4cc01ecd2f12c90830db
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4839
Reviewed-by: Jérôme Duval <[email protected]>
Reviewed-by: X512 <[email protected]>
Reviewed-by: Fredrik Holmqvist <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2022-03-09 18:28:00 +00:00
X512 cba95132ca libroot: add timespec_get to build
* Added in hrev55773

Change-Id: Ib57b53c76641e87c5ac0c0cde2407a7bfe45ce41
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4935
Reviewed-by: Jessica Hamilton <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2022-02-07 16:38:47 +00:00
X512 d03e5994ee ConditionVariable: add classical wait interface with lockable
Change-Id: Id18264e786dba818138caf3908c7a89b18e2a1dd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4921
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2022-02-02 19:45:27 +00:00
X512 32fd04c959 AutoLocker: get ability to get lockable
Change-Id: Id8f554494ce83725c40ccebdf0e58e54bf1bf47c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4920
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2022-02-02 19:45:27 +00:00
X512 fce7f3a748 integrate AutoDeleter's into pointers
Change-Id: I6c3925a7aec4d0647c76c2a03aad7b08985d7166
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3490
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2022-02-02 19:29:52 +00:00
X512 0d9b77a328 haiku_loader.riscv: update for SMP support
Change-Id: Ic3f83e80347036727a06eb6199c44e00079fb304
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4715
Reviewed-by: Alex von Gluck IV <[email protected]>
2021-12-29 20:12:19 +00:00
X512 715304011f haiku_loader.riscv: update
* Moved machine mode code from kernel.
* Added MMU page table generation.
* Added QEMU ramfb video driver.

Change-Id: Icd67cd2e8dbf2b568d81ab8dd0d6127ca3cd97a8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4302
Reviewed-by: Alex von Gluck IV <[email protected]>
2021-12-29 20:07:31 +00:00
X512 8ca0f03d0c riscv64/smp: Implement multi-processor support
* Working under qemu smp 1,2+
* Working on SiFive Unmatched
* x86_64 efi not broken by smp_boot_other_cpus change

Change-Id: I32ebc17913e46ed082be9ade8f56448bbf12f16e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4705
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Alex von Gluck IV <[email protected]>
2021-12-12 15:35:24 +00:00
X512 98296c4a29 haiku_loader.efi: fix build for riscv64
Change-Id: I83f4b45ea950e81fdd712644433266401c0747bd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4774
Reviewed-by: Adrien Destugues <[email protected]>
2021-12-11 15:35:02 +00:00
X512 ec8a8f1c02 libroot/riscv64: minor riscv64 fixes
Change-Id: I96b604aabe18307d7376473b8d9cd50eccb537d1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4709
Reviewed-by: Alex von Gluck IV <[email protected]>
2021-11-09 22:34:35 +00:00
X512 5ab0674c38 kernel/arch/riscv64: fix crash on userland thread exit
Set first stack frame return address to
<commpage>commpage_thread_exit, so it will be called
when thread entry point returns.

Change-Id: Ide5cde8d4501eb7241e03ff4052174e984e78870
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4493
Reviewed-by: Alex von Gluck IV <[email protected]>
2021-10-11 17:38:20 +00:00
X512 7fb43331f8 ldscripts/riscv64: adjust after adding --enable-initfini-array flag
Change-Id: Icd5b944901c483100808d6624ca742bd04b869bc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4074
Reviewed-by: X512 <[email protected]>
Reviewed-by: Alex von Gluck IV <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2021-10-06 15:23:53 +00:00
X512 ad3f57ef5a kernel/debug/frame_buffer: Lock should always be initalized
* Without this, kernel will crash on boot when a framebuffer
  isn't provided by bootloader. (like on the riscv64 today)

Change-Id: I5ec64db30972c7c3b19e4cdb31f0fe72b5982c0f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4494
Reviewed-by: Alex von Gluck IV <[email protected]>
2021-09-24 00:50:21 +00:00
X512 9720782947 bus_managers/pci: add riscv64 support v2
* Refactored version of X512's original work to split out
  the ecam and fu740 PCI Controllers

Change-Id: I631885af03b0118fb0084ed7aa4a5aa0a355b0fa
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4435
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Alex von Gluck IV <[email protected]>
2021-09-24 00:46:59 +00:00
X512 a0c6f022c4 device_manager: add path and module name attributes
* Set driver module name of device_node.
* Set device module name and path for published devices.

This helps to understand what driver is used, and it's /dev path in the
Devices app.

Change-Id: Ibd902a322da7e4276052bd4429a7b869a56a592b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3390
Reviewed-by: Jessica Hamilton <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2021-09-01 02:23:54 +00:00
X512 3517616b39 kernel/vm_page: add vm_page table dump debugger command
Change-Id: I493228736f90f5e248f1d4fa3e354beb186546cb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4308
Reviewed-by: Alex von Gluck IV <[email protected]>
2021-08-23 14:20:47 +00:00
X512 a267f17ca6 kernel/vm: fix several vm bugs in riscv64
team.cpp address_space change is needed in
arch_thread_init_kthread_stack to set initial thread page
translation map. It also allows to simplify some debugger code.

DEBUG_PAGE_ACCESS check is currently incorrectly implemented in
RISCV64VMTranslationMap and disabled to avoid panic.

gHtifRegs = 0 change is needed to avoid using HTIF when it is not
available. gHtifRegs != NULL check is used to detect that HTIF is
present. 0x40008000 is TinyEMU HTIF address. HTIF is emulator specific
device that provide serial IO and shutdown capability (and maybe
something else depending on virtual machine).

Change-Id: Ic4d567b28c49799ae0f55223dd983a752823bab4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4328
Reviewed-by: Alex von Gluck IV <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2021-08-23 13:59:49 +00:00
X512 39ddb58870 build/jam: add virtio_mmio, virtio_input to images
* virtio_mmio for riscv64,arm,arm64
* enable new FDT bus for riscv64,arm,arm64

Change-Id: I5141de4e0bfcb44c5368dfafdf68ebf06ca5fb93
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4063
Reviewed-by: Jérôme Duval <[email protected]>
2021-08-20 18:53:31 +00:00
X512 cc818f35c4 input_server/virtio: add new virtio input device
Change-Id: I9e55349717231a5b13f0bce351f349a54c1f643e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3978
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
2021-08-20 18:47:18 +00:00
X512 03fd479633 virtio_input: add new virtio input driver
Change-Id: I10af2b30c79d1e8ff890d45642988f362d3d0a1e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4012
Reviewed-by: Alex von Gluck IV <[email protected]>
2021-08-20 12:43:16 +00:00
X512 397c81a2b8 virtio_mmio: add new mmio interface
Change-Id: I2ca51d98e337d1e69a8e68d78ef0cfe33dc0d308
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3979
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
2021-08-18 06:19:37 +00:00
X512 dbd1ff0988 libroot: fix ffs for riscv64
Built-in function call ffs() causing infinite recursion.

Change-Id: I506c0301c3a19178ebca4478cbe2ea06a7aeb932
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4318
Reviewed-by: Alex von Gluck IV <[email protected]>
2021-08-15 20:56:11 +00:00
X512 756884ad48 radeon_hd: 64 bit PCI bus fixes
Change-Id: If14dc31bf4c9360b5e1d0b477ba375cec8f75ba7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4306
Reviewed-by: Alex von Gluck IV <[email protected]>
2021-08-15 00:26:57 +00:00
X512 7508e28c4f virtio_net: set device name
Change-Id: I1606804ad45e34f6a745c39917ba113ba5e9ee7f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4313
Reviewed-by: Alex von Gluck IV <[email protected]>
2021-08-15 00:07:52 +00:00
X512 73445bc413 virtio_block: set device name
Change-Id: Id96e0dd2247625b7b898316511da7f1d8d0e3ba0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4314
Reviewed-by: Alex von Gluck IV <[email protected]>
2021-08-15 00:05:34 +00:00
X512 f850bba8d0 bus_managers/fdt: rewrite to support device manager node tree
* Breaks previous fdt module clients.

Change-Id: I8bfdca40a77c041ddef51488e1995e5d43edb340
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3977
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Alex von Gluck IV <[email protected]>
2021-08-14 23:57:35 +00:00
X512 fa41d6fa7a kernel/arch/platform: implement for riscv64
Change-Id: Id1839ef39d927e6a2017c8b8ac3482d9eeb00fa1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4059
Reviewed-by: Alex von Gluck IV <[email protected]>
2021-08-13 20:36:30 +00:00
X512 56ac584a91 libdebug: add riscv64 support
Change-Id: I9d9d1697bc67d2ab674f2fbe0dbf3a37ead58595
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4062
Reviewed-by: Alex von Gluck IV <[email protected]>
2021-08-13 13:24:35 +00:00
X512 9d2cc33a64 kernel/arch_real_time_clock: implement for riscv64
Change-Id: I3a50b3343e00ef45ef9391d463939abba9e666a0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4072
Reviewed-by: Alex von Gluck IV <[email protected]>
2021-08-13 13:14:41 +00:00
X512 95d6ecf25d libroot/riscv64: define syscall function size, implement time
Change-Id: Ib08b0b700506e3e1eb41d1b30b025bdf688342d9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4071
Reviewed-by: Alex von Gluck IV <[email protected]>
2021-08-13 13:10:39 +00:00
X512 7b124be096 efi: add NVRAM variable GUID definition
Change-Id: Iab4e59bb4ac91ba5e9c34e1ade433b423a140b9b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4316
Reviewed-by: Fredrik Holmqvist <[email protected]>
2021-08-13 13:06:05 +00:00
X512 5ae7ac5fd9 drivers/vesa: fix for RISC-V
* Make ISA bus optional in vesa driver

Change-Id: I1f38f92d81fbfe47224893e1d9dbf6a74306e2f0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3986
Reviewed-by: Alex von Gluck IV <[email protected]>
2021-08-13 13:03:49 +00:00
X512 0877e4d7d1 nvme: add legacy interrupts support
Change-Id: I29b9676c6c2407e7795af4c7b1c56a7afb546f6e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4312
Reviewed-by: Alex von Gluck IV <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2021-08-12 17:19:38 +00:00
X512 f1fa58bfbc haiku_loader.efi: update for riscv64
* Added MMU page table generation.
* Added optional FDT device detection and passing to kernel.
* Add platform address translation stubs to bios_ia32
  to drop EFI ifdefs

Change-Id: I89257c93c84404fd988f621b29f927ed0df3c3b1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4304
Reviewed-by: Jessica Hamilton <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2021-08-12 08:33:36 +00:00
X512 a748b72e3c AutoDeleter: add VMAddressSpacePutter, DeviceNodePutter
Change-Id: I705de24f6a87287943814e748d5a02e43b029e60
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3987
Reviewed-by: Alex von Gluck IV <[email protected]>
2021-08-06 21:11:04 +00:00
X512 058b29ac34 AutoDeleter: introduce MethodObjectDeleter
It allows to call destructor function stored in struct object such as
device_manager_info::put_node.

Change-Id: If9162f2f449d2b1c52c39509fa8732f21debf04a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3484
Reviewed-by: Alex von Gluck IV <[email protected]>
2021-08-06 21:11:04 +00:00
X512 f0e1bca09c kernel/arch/int: implement for riscv64
Change-Id: I62d9bff75d35a685983c626720514ff17b1cef00
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4052
Reviewed-by: Alex von Gluck IV <[email protected]>
2021-08-06 17:45:26 +00:00
X512 d472f38a49 riscv64: update hardware definition headers
Change-Id: I0c84f1d5389842d4591cb1548793e08155ba3666
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4311
Reviewed-by: Alex von Gluck IV <[email protected]>
2021-08-06 17:33:53 +00:00
X512 b87ec78210 kernel: update arch headers for riscv64
Change-Id: Iaf1c253745412614f7e4a30019d96483cb0d3a12
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4310
Reviewed-by: Alex von Gluck IV <[email protected]>
2021-08-06 17:26:04 +00:00
X512 ec1174b442 kernel: add SiFive UART driver for riscv64
Change-Id: I37a909b5bcdb18b3fa062961eca9ff2f5187867c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4305
Reviewed-by: Alex von Gluck IV <[email protected]>
2021-08-06 16:56:21 +00:00
X512 64bc301951 libroot/os: implement arch-specific parts for riscv64
Change-Id: Idb6920b4c98a579a184e6a7e1976f2d8c7618dba
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3983
Reviewed-by: Alex von Gluck IV <[email protected]>
2021-08-06 16:03:11 +00:00
X512 1deede7388 riscv64: add SBI syscall interface
Change-Id: Ifab2a65fdad1de807e2334ec94137b992d6fe19d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4300
Reviewed-by: Alex von Gluck IV <[email protected]>
2021-08-06 15:51:16 +00:00
X512 c15bf9b792 kernel/arch/timer: implement for riscv64
Change-Id: Ia854b0048a86b1427e975f482325ed4d4df1a12a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4061
Reviewed-by: Alex von Gluck IV <[email protected]>
2021-08-06 15:47:48 +00:00
X512 de8c1bcc32 kernel/arch/user_debugger: implement for risv64
Change-Id: I9cdf7a6a5b66cdd83133485f98067ce9a5fb819d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4058
Reviewed-by: Alex von Gluck IV <[email protected]>
2021-08-06 15:42:49 +00:00
X512 d031c09ceb kernel/arch/cpu: implement for riscv64
Change-Id: Ib4dd636f9ebb62931f77c809185ea810485d801e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4057
Reviewed-by: Alex von Gluck IV <[email protected]>
2021-08-06 15:41:33 +00:00
X512 62790afc9d kernel/arch/commpage: implement for riscv64
Change-Id: Id7f495896a08a237db85dcedd1174e4c181e373d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4056
Reviewed-by: Alex von Gluck IV <[email protected]>
2021-08-06 15:28:42 +00:00
X512 d6a257bbe9 kernel: add RISC-V HTIF code
Change-Id: I83251bb4586b4f752c97741f62a96d2f6f842377
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4055
Reviewed-by: Alex von Gluck IV <[email protected]>
2021-08-06 15:23:19 +00:00
X512 e013897fcf kernel/arch/debug: implement for riscv64
Change-Id: Iab5cc9ef4059f968bca03683592d1ec1818a26a2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4053
Reviewed-by: Alex von Gluck IV <[email protected]>
2021-08-06 15:19:22 +00:00
X512 4a32f48e70 kernel/arch/thread: implement for riscv64
Change-Id: I3effa598626b32c29606299cd0edee390d430baf
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4066
Reviewed-by: Alex von Gluck IV <[email protected]>
2021-08-06 15:01:52 +00:00
X512 7ef006297e kernel/arch/vm: implement for riscv64
Change-Id: I0b463f3d2bca9f31b0aabacbf70a9774493d3467
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4051
Reviewed-by: Alex von Gluck IV <[email protected]>
2021-08-06 14:47:32 +00:00
X512 7e6b3c0787 HaikuPortsCross/riscv64: update GCC package
Change-Id: Ifb2158822df63121397ccbe7dadaba44594832d2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4073
Reviewed-by: Jérôme Duval <[email protected]>
2021-08-06 07:33:42 +00:00
X512 4b06883d46 ati: add register definition
GEN_INT_STATUS: Interrupt & Status indicators (vblank, vline, vsync).

Change-Id: Ia5f786f3bf654c28b945a268ee7d32b8f3d02732
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4307
Reviewed-by: Jérôme Duval <[email protected]>
2021-08-06 06:54:59 +00:00
X512 2641b03c91 app_server: fix integer overflow in ServerBitmap
Integer overflow caused bitmap buffer creation of wrong size and out of
bounds access when large bitmap was created. Now allocation failure is
reported for large bitmaps.

This prevents app_server from crashing while playing YouTube in WebPositive.

Fixes #16489.

Change-Id: I297aa6e3b79b32a486d297f1239a1fd4397a8a36
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4209
Reviewed-by: Sergei Reznikov <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2021-07-14 20:25:00 +00:00
X512 cc265c1482 app_server: turn on screen on start
Screen may be turned off if video card is not supported by firmware and boot
loader.

Change-Id: Ie60fc00da281ec3781084dd97466a68b885fde7b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4114
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2021-07-03 09:17:36 +00:00
X512 5478ac965d ati: fix for 64 bits and non-x86 architectures, SMAP fixes
ATI graphics driver is useful for QEMU option `-device ati-vga`.

Change-Id: Ia932d07d23b16cd9e2eefe65821a38a87427c416
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4116
Reviewed-by: Adrien Destugues <[email protected]>
2021-07-03 09:16:59 +00:00