Commit Graph
100 Commits
Author SHA1 Message Date
François Revol 629397f222 Add basic support for loading ControlLook add-ons
app_server just passes the add-on path around.

Maybe we should make sure the add-on can be loaded when setting it.

Change-Id: I3acd3299782a22c1666bd5435dbf3d8053e359fa
Reviewed-on: https://review.haiku-os.org/c/1430
Reviewed-by: waddlesplash <[email protected]>
2019-05-13 22:15:30 +00:00
François Revol 25de7c1b12 loader: VESA: make nvidia scaling fixup a driver setting
Since not everyone likes the default, make it an option in the vesa
settings file. Note setting a mode with the Screen prefs overwrites
the file so it will discard the option.

Also move the code to get_mode_from_settings() since we can't load driver
settings as early as vesa_init().

Change-Id: I93080bd1fbc064dab053624ad37935268b1ed17d
2019-05-08 04:42:33 +02:00
François Revol 0bed4dedc9 haiku utils rdef: bump Copyright year and fix indentation
Change-Id: Ib33df34029d0ab0189754024dd07beef3a2864bc
2019-05-08 02:00:04 +02:00
François Revol 547b5497e3 googlefs: fix warnings
Someone should rewrite this.

Change-Id: I08ddd10ac39c025f2ea1c28213a744bc2ada8516
2019-05-03 19:37:46 +02:00
François Revol 7409049765 Fix warning
Change-Id: I83250cc76a709404c52b91c992abb64f162e259b
2019-05-03 19:22:38 +02:00
François Revol 1b48852e84 Fix doxygen + whitespace
Change-Id: Ief0b2646e95841604a0396f15a054ff2086db198
2019-05-03 19:22:38 +02:00
François Revol 23901a75de Stub out a tun/tap module from the loopback code
Not functional yet.

Change-Id: I6f7427c5fa176595927d73dd3b11b04945f66d84
2019-04-17 14:12:59 +00:00
François Revol b110fce124 Add sources for my original BeOS BONE tun/tap config driver
as a starting point.

Change-Id: I9c3b1027a7fda4ab1eaced486eb2455a19571fee
2019-04-17 14:12:59 +00:00
François Revol 80934b8395 runtime_loader: Fix handling of #!/usr/bin/* introduced in hrev53048
Code was comparing "/usr/bin/" with "/usr/bin/env" of whatever was
passed. We now only compare the substring.

Change-Id: I0d09589fa83227d88fc8ba458eaf4293e86a041b
2019-04-08 23:50:33 +02:00
François Revol 5e4336f30a GLTeapot: allow multiple instances
starsseed told me it worked fine and is actually nice for demos :-)

Another option could be to add a menu entry to open a new window, but
I'm just back from JDLL so I'm quite lazy :p

Change-Id: I91e34517812f84157db7e24f2edff587deabbbe9
2019-04-07 22:00:32 +02:00
François Revol eae1e95256 Add a proper (but ugly) icon for ThemeManager
Feel free to propose a better one ;-)

Change-Id: I481b730d8d715415dfdfc07c16aaa302b5724a7b
2019-04-02 21:55:17 +02:00
François Revol 88255e0890 BFS: Add support for building big-endian BFS
I tried to use the feature stuff to relocate objects but didn't managed
to get it to work, having another subdir seems to be the simplest
solution.

I managed to mount a clone of my BeBox' drive, but it KDLed shortly when mouting
read-write.

Change-Id: Ia4f126673e553e4f3e524a40218e6c623527b96d
Reviewed-on: https://review.haiku-os.org/c/645
Reviewed-by: Adrien Destugues <[email protected]>
2019-03-13 19:59:34 +00:00
François Revol d51c92f872 Actually add AutoRaise to the regular image
Change-Id: Ied73e217ba91531c8b149fc5c23fd95bca53e732
2019-03-11 13:37:02 +01:00
François Revol dc2d41d7e6 Add AutoRaise to the regular image
It now works reasonably well to be of some use.

Change-Id: I2e031e4d4a7e395d4c597014b73e399c65d15041
2019-03-11 04:33:29 +01:00
François Revol 0305dc14b4 AutoRaise: Make it actually working again
It seems we don't sort the window token list anymore, so it only worked
in very few cases.
2019-03-11 03:17:15 +01:00
François Revol 46308e28e5 AutoRaise: Just add itself to Deskbar on run
It's simpler, nobody runs things in Terminal, right?
2019-03-11 03:16:39 +01:00
François Revol 6ff7e25bd0 mime_db: consider recipe files as text/x-source-code
Opening them in StyledEdit isn't handy.

Change-Id: Icbdcbdbace0432cd7c808eb0011186a4310aed79
2019-03-10 18:19:57 +01:00
François Revol 46113563a3 mime_db: Add some more text/x-source-code extensions
Change-Id: Ia0799e2614ebfeb1e1dd86e0cd60dfc2c3cb391a
2019-03-10 18:18:38 +01:00
François Revol f82b4294d8 urlwrapper: add support for binary plist webloc files
Quite hardcoded but it works.

We only support URLs shorter than 256 bytes as it's the only samples I have.
2019-03-06 04:54:56 +01:00
François Revol ee55f593fd mime_db: Add text/x-webloc
Also try to match the binary plist for the examples I have here.
2019-03-06 04:19:52 +01:00
François Revol 2c73537c43 Add a catarea bin tool
Untouched as of 2004, can be useful sometimes.
2019-03-02 13:37:23 +01:00
François Revol 54a4352649 Coding Style Police
Change-Id: I93ebe389dbc685f4277cf32c4d0a6d529c81a354
2019-02-24 15:54:34 +01:00
François Revol 447b98e474 net_socket: Fix deferencing NULL+8 in KDL commands
Change-Id: I50d4dab27699614b0bfc977e10d6d11cbb5f79fa
2019-02-24 04:44:10 +01:00
François Revol d18fe1c54c loader: disable scaling on nvidia VESA BIOS
cf. https://patchwork.kernel.org/patch/7113461/

Change-Id: I3f564bd1037aeb4b539f495d57397446ae14e5ed
2019-02-21 05:28:56 +01:00
François Revol 38c4c8bfa9 kernel: fix mount arguments checks from userland
Since NULL is not considered a user address anymore, we must check for
it first.

This fixes the "mount: Bad address" error after hrev52905.

Change-Id: If60ea58bb81b6c35c6bf27ecfa9b29bd7a25d8aa
2019-02-21 03:14:23 +01:00
François Revol b98f12a601 freebsd_network: use proper BAR size in bus_alloc_mem_resource
This time we use the pci_info directly, it avoids a possible race with
PCI config regs, and we already have the value there anyway.

Signed-off-by: Augustin Cavalier <[email protected]>
One crucial fix by me: check if size == 0. This avoids the deadlock
seen in #14795.
2019-01-05 14:45:54 -05:00
François Revol 35eb380e1a Add Shelf screen-saver to the regular image
It builds and works, so let's have people test it.

Change-Id: I33016527e89aab29ba3200c8b4bf72376a32312b
2018-11-20 16:58:52 +01:00
François Revol 84f9d70b0f shelf saver: hopefully fix x86_64 build 2018-11-20 16:54:43 +01:00
François Revol 8c4a96818d shelf: use layout for the config view & B_TRANSLATE 2018-11-20 05:05:11 +01:00
François Revol 5d558f271c BFS: Use separate name & pretty name for big-endian
Change-Id: I7e3a99e3cff35ae5f8cd84fa7243579bf93de904
Reviewed-on: https://review.haiku-os.org/644
Reviewed-by: waddlesplash <[email protected]>
2018-10-27 17:48:25 +00:00
François Revol 2522f69ee9 BFS: make sure we #error if asked to build both big & little endian
Change-Id: Ia7dd0046a2a527d9acbeb31b665d98f099642102
Reviewed-on: https://review.haiku-os.org/643
Reviewed-by: waddlesplash <[email protected]>
2018-10-27 17:48:25 +00:00
François Revol 4a3dae2bac package kit: add a NULL check on requests
This avoid crashing on malformed repository URL (like missing http://).
2018-10-08 00:56:11 +02:00
François Revol 8865af3950 BApplication docs: fix example
Fixes #14520.
2018-09-24 19:30:05 +02:00
François Revol cbd7818322 radeon: make the framebuffer user-cloneable
This avoids an annoying panic...
2018-09-24 03:07:56 +02:00
François Revol e4fac18200 data/profile: fix and simplify secondary arch detection
The previous code was wrong: running bash --login was reported
as if we used setarch x86_gcc2.

Current code also saves 3 fork+exec.
2018-08-21 23:26:33 +02:00
François Revol 4fced27d37 acpi: fix format warnings with DEBUG_OSHAIKU set 2018-08-16 18:29:19 +02:00
François Revol c476e73be7 freebsd11_network: allocate a new root device for each attach
else the pci_info struct is reused and overwritten.

This made the broadcom43xx driver write to the PCI config regs of other
devices...
2018-08-10 07:21:30 +02:00
François Revol 4cd13e2a54 freebsd11_network: calculate the size of memory resources from the BAR
128kB ought to be enough for everyone, but that's not a reason.
2018-08-10 07:18:49 +02:00
François Revol ba88131cfd broadcom43xx: fix dereferencing uninitialized pointer in bwi_getradiocaps
bwi_attach wasn't setting ic->ic_softc early enough.
2018-08-10 07:16:32 +02:00
François Revol 4498948fcf recover: Work around use-after-free
Inode::_FindPath() always deletes the inode it uses regardless
the source, including when it's from the HashtableInodeSource.

But the later returned the inode object directly from the hashtable
when it's inside, so it gets deleted bu _FindPath… then reused later on
when searching the hashtable again.

I'm not sure it's the correct solution but at least malloc_debug doesn't
complain anymore.
2018-03-27 23:14:32 +02:00
François Revol 4069b740e5 pthread: assign handle argument before resuming the created thread
It's not specified by POSIX:
http://pubs.opengroup.org/onlinepubs/009695399/functions/pthread_create.html
"There is no requirement on the implementation that the ID of the
created thread be available before the newly created thread starts executing."

However I've run into it with MPD which assumed this, probably because
of Linux:
https://github.com/MusicPlayerDaemon/MPD/issues/188

It doesn't hurt anyway.
2018-01-06 05:07:43 +01:00
François Revol f254805b43 usb_webcam: UVC: guard against NULL config or interface from USB device 2017-11-22 14:06:06 +01:00
François Revol 9c7aacad7b Typo 2017-11-22 14:06:06 +01:00
François Revol e96fd79311 ata_adapter: Remove bad casts for ram_address()
We now accept and return a phys_addr_t as we ought to.
2017-11-21 21:44:02 +01:00
François Revol 4dde854c8a silicon_image_3112: Remove bad casts for ram_address()
We now accept and return a phys_addr_t as we ought to.
2017-11-21 21:44:02 +01:00
François Revol aef94baf32 ISA: fix ram_address() to use phys_addr_t for completeness
I don't know of any driver actually making use of it, but some weird
architecture might want to emulate an ISA bus to reuse a driver maybe...
2017-11-21 21:44:02 +01:00
François Revol 16bb99fdac PCI: fix ram_address() to use phys_addr_t
Since it handles physical address it should really be this.

It's not like many drivers actually used it anyway. It shouldn't harm
compatibility, drivers calling it with only 32bit would leave garbage in
the higher bits but since on x86 it's a noop anyway, it would end up in
the MSB register tha's ignored because it expects a 32bit result.
2017-11-21 21:44:01 +01:00
François Revol dd1454bd96 Defer calling arch_debug_console_init_settings
when we can actually read driver settings :-)
2017-11-20 18:16:54 +01:00
François Revol 7c7390c719 work around "cast specifies signature type" from gcc2
...when build by gcc6 or 7 on my Debian Sid.
2017-11-20 17:18:08 +01:00
François Revol 0835170c80 Actually use the serial port and speed from the kernel settings
Turns out we just reused the already set values, disregarding the new ones.
2017-11-20 11:44:43 +01:00
François Revol 587b70d5cd Add a get_driver_settings debugging tool 2017-11-20 11:23:34 +01:00
François Revol b7fc170ebd MIME: Open Gopher URLs with WebPositive, as we support them now 2017-09-01 22:18:11 +02:00
François Revol e62e979e60 Allow dumping SSL session keys on TRACE_SESSION_KEY
This dumps SSL session keys to a log file specified by the
SSLKEYLOGFILE environment variable.

This permits decrypting SSL trafic in wireshark with a tcpdump
capture for example.
cf.
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Key_Log_Format
https://security.stackexchange.com/questions/35639/decrypting-tls-in-wireshark-when-using-dhe-rsa-ciphersuites/42350#42350
https://wiki.wireshark.org/SSL#Using_the_.28Pre.29-Master-Secret
https://jimshaver.net/2015/02/11/decrypting-tls-browser-traffic-with-wireshark-the-easy-way/

Looks like we miss the required function from SSL...
SSL_SESSION_print_keylog is only in 1.1.0.
Also added dumping of client_random as it's required by wireshark.
2017-05-04 00:56:15 +02:00
François Revol 28fb504bb8 Style fix, also fixes an indentation warning 2016-12-02 05:33:18 +01:00
François Revol 8a6724a0ee makefile-engine: use grep -a for RDEF parsing
ThemeManager has an UTF-8 copyright symbol in its rdef file.
The chroot set up by haikuporter doesn't export anything that would
hint grep to accept UTF-8 as text, so it freaks out...
So we force it to accept anything as text.
2016-11-05 00:55:53 +01:00
François Revol b1e2427d75 glibc: replace extern __inline with __extern_always_inline for ppc
As was done for x86 in hrev49774.
2016-10-22 15:53:57 +02:00
François Revol 72ddc912a6 PPC: make arch_framebuffer.h more like ARM version
Now the only difference is the physical address, which is returned as
phys_addr_t as should be.
2016-10-22 15:53:52 +02:00
François Revol f4dc609dbe U-Boot: PPC: dump the start of the board_data struct
Not so useful but just in case...

Sadly, this struct is both compile-time and arch dependent :-(
2016-10-22 15:53:47 +02:00
François Revol 9e66f03165 U-Boot: PPC: Try to enable unaligned transfers
This however doesn't help with the 64bit float operations that
gcc emits when assigning the physical framebuffer address in kernel_args,
which is a packed struct...
2016-10-22 15:53:38 +02:00
François Revol e57c83d9e4 U-Boot: PPC: make the shift calculation more obvious
It's the 11th bit, counting from the MSB, on the top 16 bits.
2016-10-22 15:53:24 +02:00
François Revol 1fe7e6711f PPC: call debug_uart_from_fdt with C++ linkage 2016-10-22 15:53:20 +02:00
François Revol 11642b7f2c PPC: arch_asm.S: style fix
Capitalize TODO & FIXME, gedit prefers those
2016-10-22 15:53:15 +02:00
François Revol 33c594f0c7 PPC: U-Boot: fix gUBootOS offset
Since the removal of some other variables we were overwriting some random function.
2016-10-22 15:53:07 +02:00
François Revol ffb9ffb68d PPC: Use FUNCTION_END in arch_asm.S 2016-10-22 15:52:51 +02:00
François Revol 9d0098ec04 ppc/paging: Convert to new-style CPU management
* Aka, post-scheduler changes
* Luckily PPC paging code is very similar to x86 paging now
2016-10-22 15:52:46 +02:00
François Revol f5f6d7e600 PPC: compile arch_exception*.S in cpu-specific objects 2016-10-22 15:52:38 +02:00
François Revol 8dc55498fa PPC: rename arch_exceptions_44x.S to arch_exceptions_440.S 2016-10-22 15:52:29 +02:00
François Revol 094525151d PPC: Split cpu-specific files into separate objects 2016-10-22 15:52:16 +02:00
François Revol d66182742f PPC: Stub out 460 paging classes 2016-10-22 15:52:08 +02:00
François Revol 62caef87ce PPC: Restructure paging stuff to match other platforms
First attempt.

Totally untested.
2016-10-22 15:51:57 +02:00
François Revol e409118307 configure: pass proper gdb target for m68k 2016-10-20 13:30:33 +02:00
François Revol 4da6cf8403 configure: allow building GDB along with the buildtools
from a stock GDB source tree.

I was getting tired of doing it manually.

Note the prefix is not exactly the same as the buildtools since the
machine triplet is different, but it's not an issue.

Tested with arm and ppc with GDB 7.8. Might need patching gdbTarget for other archs,
as stock GDB doesn't know about Haiku.
2016-10-20 11:14:50 +02:00
François Revol 96c72d6933 typo 2016-10-20 11:14:50 +02:00
François Revol faf79e7f78 Add a little script to configure a dev VM
I wrote that long ago for my packaging tutorial at RMLL, would probably
needs some fixing.
2016-10-20 01:04:37 +02:00
François Revol 495efc382b loader: Drop the HashMap for partition lookup by id
The HashMap constructor was called before the heap is initialized,
ending up calling malloc from the OpenHashMap constructor.

Oddly it was still working on x86 but broke other platforms.

Instead we add a Lookup() static method to Partition,
which by default walks gPartitions for the id,
and recursively calls itself on the children lists.

This means we must add a partition even temporarily to gPartitions
before Scan()ing it though.

Signed-off-by: François Revol <[email protected]>
2016-09-02 19:02:33 +12:00
François Revol 8ddcab705e geode: fix build (atomics not volatile anymore) 2016-08-06 22:12:20 +02:00
François Revol d4cfae74c9 opensound: quit the node threads before recycling buffers on dtor
This works around a KDL in the driver due to the buffer address passed
to write() being unmapped in the destructor, and the driver doesn't
properly checks those yet (BeOS used to lock_memory() on read/write buffers).
2016-08-06 20:10:28 +02:00
François Revol 63b8635e04 pc_serial: add some references 2016-08-03 20:09:51 +02:00
François Revol e0a322db92 netresolv: remove asserts from inet_pton()
There are still asserts in inet_pton4 and 6 anyway.

libgit2's tests expect inet_pton() to fail with EAFNOSUPPORT on unsupported
address families instead of crashing...
2016-07-26 23:52:29 +02:00
François Revol 7f6136828c Add more X11 packages including libxpm
inputproto, kbproto, libx11, libxpm, xextproto, xtrans.

Updated xproto.

Now maybe I can get xpm icons in my XEmacs toolbars?
2016-07-25 00:35:53 +02:00
François Revol 02283e080c M68K: drop the custom C arch_cpu_user_mem*() for the default impl
I didn't notice there was a C++ version that didn't require writing asm.

I'll have to write them anyway for speed someday.
2016-07-20 21:57:19 +02:00
François Revol 169349c98f M68K: more SMP stubbing
We'll very much likely never support SMP on M68K...
(unless someone has an SMP machine to donate? :D)
2016-07-20 21:56:15 +02:00
François Revol ad4b06aa75 m68k/paging: Convert to new-style CPU management
* Aka, post-scheduler changes
* Luckily M68K paging code is very simular to x86 paging
2016-07-20 21:28:56 +02:00
François Revol 9df4533caa M68K: use the updated atomic semantics
* Use atomic_get_and_set to return the old value
* Atomics are no longer volatile
2016-07-20 21:26:32 +02:00
François Revol a462159ce3 M68K: Update to new system_info structures 2016-07-20 21:26:12 +02:00
François Revol 7cd7ba758c M68K: fix implicit casts of fault handler 2016-07-20 21:07:26 +02:00
François Revol 830fd19eb5 M68K: Fix spinlock initialization 2016-07-20 21:06:38 +02:00
François Revol d26fd5f68d M68K: drop the platform_type field, the enum is gone from OS.h 2016-07-20 20:31:14 +02:00
François Revol c094f04537 M68K: dos2unix some files
For some reason they used CR-LF.
2016-07-20 20:27:08 +02:00
François Revol 990d34efdd M68K: add arch_cpu_idle and arch_cpu_pause inline stubs
Remove the stub from arch_cpu.cpp

We might want to implement a 040 CPU module providing idle using LPSTOP.
2016-07-20 20:26:29 +02:00
François Revol 7ab9993a18 M68K: Add missing defines
No idea for cache level.

On 030 and 040 a cache line is 16 bytes.
2016-07-20 20:26:29 +02:00
François Revol 58820fadb1 M68K: update bootstrap packages version 2016-07-20 20:26:29 +02:00
François Revol 3805f72225 M68K: add arch_atomic.h 2016-07-20 20:26:29 +02:00
François Revol 47a20cd6d1 M68K: turn #warnings into comments in public headers
The warnings made those headers and those including them not detectable
by libiberty's configure because of the way it checked for them.

This fixes the gcc build.
2016-07-20 20:26:29 +02:00
François Revol 181391c106 ARM: Add TODO on barrier calls, we might need to do more here
They look suspiciously empty.
2016-07-20 18:53:24 +02:00
François Revol 836a148321 dev-perso: also check for lowercase todo[.org] 2016-05-22 21:06:19 +02:00
François Revol 1e3ca5cef9 libusb_compat: add gcc4 package 2016-03-15 01:01:48 +01:00
François Revol e89ef1fef7 U-Boot: TRACE fdt_serial instead of dprintf
and disable it by default (it would hang on some platforms anyway).
2016-02-26 22:59:33 +01:00
François Revol c82af4bebe U-Boot: try to use virtual-reg to get the UART
XXX: possibly only for _BOOT_MODE?
2016-02-26 22:58:45 +01:00
François Revol 14cfccd011 U-Boot: add a 'physical' arg to fdt_get_device_reg()
If false, try to use the virtual-reg property first.
2016-02-26 22:58:17 +01:00