51407 Commits

Author SHA1 Message Date
Stephan Aßmus
7ff94fd072 HaikuDepot: Implemented getting user-ratings for packages.
This happens when a package is first clicked, and its details are shown.
Currently, ratings can only be entered via the web-app.
2014-09-03 23:42:24 +02:00
Stephan Aßmus
2b411c028e HaikuDepot: Update for web-app API changes.
* Category identifyers are lower-case, we can use the "name" facility which
   already existed for this purpose and simply iterate the list of known
   categories.
 * The getBulkPkg method now takes the architectures as a list as well,
   helps with finding the right package in case there is a mix of
   architectures across the requested package names.
hrev47802
2014-09-03 22:54:04 +02:00
Paweł Dziepak
5fa80ab691 usb: fix format string
fDebugChunkSize is an uint32.

Signed-off-by: Paweł Dziepak <pdziepak@quarnos.org>
hrev47801
2014-09-02 23:35:42 +02:00
Julian Harnath
ec8fc5ee39 Use uncached memory areas if snooping is not possible
* Some chipsets do not support bus-snooping for the HDA data
  transfers. So, when trying to enable snooping, verify that the
  setting was accepted.

* When snooping is not possible, set memory areas for audio buffers,
  buffer descriptor lists and command ring-buffers as uncached to
  ensure memory coherency with the HDA controller.

* This fixes KDLs during booting on some systems where snooping
  is not supported (seen on two systems with AMD chipsets, maybe
  applies to others as well).
  After setting up the buffer descriptor list for a stream, it was a
  gamble whether these writes would be visible to the HDA controller
  when subsequently enabling the stream. On some boots it was unlucky
  and then the HDA controller's DMA engine would go haywire and start
  overwriting random kernel memory with audio input data. The
  scheduler was usually the first victim and caused page fault KDLs
  due to corrupted data structures.
hrev47800
2014-09-02 23:10:57 +02:00
Julian Harnath
84dfba2972 Preserve reserved bits in registers
* Do read-modify-write cycle to preserve bits marked as RsvdP in the
  following registers: WAKEEN, CORBWP, CORBCTL, CORBSIZE, RIRBWP,
  RINTCNT, RIRBCTL, RIRBSIZE.
2014-09-02 23:10:55 +02:00
Julian Harnath
2d498c889c Use correct sequence for resetting CORB read pointer
* Spec requires software to wait for hardware to acknowledge the
  reset by waiting for the bit to become set and then manually
  unset it and again wait for it to become unset.
  (cf. HDA spec 1.0a ch. 3.3.21)

* Also, do read-modify-write to protect preserved bits
2014-09-02 23:10:53 +02:00
Julian Harnath
78b950bd2d Read back CORB/RIRB control register to ensure DMA has stopped
* Spec is somewhat unclear about whether that is really necessary,
  but let's play safe.
2014-09-02 23:10:52 +02:00
Adrien Destugues
952aff674e update devIL and dependencies. hrev47799 2014-09-02 23:06:42 +02:00
PulkoMandy
5de8dca2e4 Bootloader: fix loading of ARM ELF files
* Let the loader know about PT_ARM_UNWIND (and ignore it)
 * Allow up to 32K of space between sections of an ELF files as ARM ones
need that.
hrev47798
2014-09-02 18:15:50 +02:00
PulkoMandy
83f5e2a258 Fix stack alignment for bootloader.
The ARM SP is pointing to the top item of the stack, not the first free
byte. This was confusing dprintf making it fail to print 64bit integers.
hrev47797
2014-09-02 17:01:27 +02:00
Arvind S Raj
3fbb24680c Added check to ensure KDL does not include frames beyond kernel entry in the backtrace. This prevents KDL from faulting when printing backtrace on ARM. 2014-09-02 13:39:57 +02:00
PulkoMandy
23b891504c Define the minimum-mmc profile for the ARM build.
Now that the fake packages are in place, it is much easier to build the
MMC image for ARM without the need for a bootstrap build.

This image still does not manage to access the tarfs and load the kernel
modules, but it gets to KDL, at least.
hrev47796
2014-09-02 10:54:07 +02:00
Adrien Destugues
ab280d4400 Fix SVGView test build (missing strings.h include) hrev47795 2014-09-02 10:16:03 +02:00
Adrien Destugues
e94bd4810e Fix "strict aliasing rules" warnings
Treated as errors when trying to build the test_app_server for x86_64.
2014-09-02 10:16:01 +02:00
Adrien Destugues
dc83a48d25 Make TargetLibstdc++ work for libbe_test target
Needed for the test_app_server.
The logic here may need some improvements, but I'm not sure how to find
the right library name in all cases. I fixed at least the x86_gcc2 case
here.
2014-09-02 10:15:59 +02:00
Adrien Destugues
b367d3a77c registrar ClipboardHandler: Style fixes. 2014-09-02 10:15:57 +02:00
PulkoMandy
90520f9b43 Second attempt at fixing non-bootstrap ARM build
- Revert the change to BuildFeature since the latest version of the zlib
sources package indeed uses the correct "sources" directory.
- Make the fake zlib package for ARM use the same revision number as the
current zlib version (4) so it can use the current version of the source
package instead of some older one.
hrev47794
2014-09-02 09:16:54 +02:00
PulkoMandy
2ba0ffcef0 Fix zlib source directory name.
This fixes the non-bootstrap ARM build.
I'm not sure this is the right fix, the zlib package seems to come with a
"source" (not "sources") folder on both ARM and x86_gcc2 but then I
don't understand how this worked for the x86_gcc2 build before.
hrev47793
2014-09-01 23:00:31 +02:00
Alexander von Gluck IV
f3ed89bb64 partition/intel: Fix GPT error language.
* Yeah, intel shouldn't support GPT :-)
hrev47792
2014-09-01 19:41:19 +00:00
Ithamar R. Adema
f9f3b564ac ARM: only enable C++11 for libroot, not globally
This resembles the x86_64 build, and fixes the compilation issues
with the bootloader stdio.h header.

Fixes #11144
hrev47791
2014-09-01 15:28:49 +02:00
Ithamar R. Adema
c144d33901 Json: use B_PRI* constants
This fixes the x86_64 build.
hrev47790
2014-09-01 13:12:59 +02:00
Adrien Destugues
12cd565ad7 SecureSocket: add OpenSSL locking.
This shoiuld make OpenSSL more thread safe and help with the random
network related crashes in Web+ (and anything else using SecureSocket
with more than one thread).
hrev47789
2014-09-01 09:54:46 +02:00
Michael Lotz
064018fbf1 UHCI: Reject request debug transfers on control pipes.
Requests aren't handled in the debug transfer code path and would
end up in wrongly constructed descriptor chains.
hrev47788
2014-09-01 00:12:37 +02:00
Michael Lotz
dbd527de10 usb_keyboard: Try clearing endpoint stall on transfer failure.
As the keyboard is used from usb_hid in the userland as well, we quite
probably are not in sync with the data toggle. Clearing the stall
should restore the toggle and make things work.
2014-08-31 23:02:31 +02:00
Michael Lotz
e31cac6e5a USB: Implement usb_clear_stall kernel debugger command.
It constructs a clear feature request for the endpoint halt selector
and sends the request using debug transfers. Clearing a stall condition
can be done safely and has one nice side effect: it reinitializes the
data toggle to a known state. This command can therefore be used when
a pipe is possibly used from userland as well and the data toggle may
therefore be out of sync.
2014-08-31 23:02:30 +02:00
Michael Lotz
326645d2da usb_keyboard: Simplify to generalized usb_process_transfer. 2014-08-31 23:02:29 +02:00
Michael Lotz
159aa93b31 USB: Generalize logic for debug transfers used within KDL.
Pull debug transfer methods into the base BusManager class and
implement them for UHCI and EHCI. This makes it possible to have a
single debugger command installed by the USB stack instead of HCI
specific ones.
2014-08-31 23:02:29 +02:00
Joseph R. Prostko
1d016b78ec Add Intel Iris Pro Graphics 5200 to the intel_extreme driver
* This enables the intel_extreme driver on the Clevo W740SU and its variants like the System76 Galago UltraPro
hrev47787
2014-08-31 16:04:12 -04:00
Jonathan Schleifer
4409556b7a Small fix for C++11 to make Clang happy hrev47786 2014-08-31 21:59:28 +02:00
Humdinger
18684e0caf Added alternative and improved icons for Be and Zeta disks hrev47785 2014-08-31 19:11:09 +02:00
Michael Lotz
dd89f967a7 usb_keyboard: Add support for debug keyboards on all HCIs.
Check for support of debug transfers from all HCIs and use the ones
that provide it.
hrev47784
2014-08-31 12:08:21 +02:00
Michael Lotz
b0e1d28d2b USB: Cleanup hardcoded bitmap size. 2014-08-31 12:08:21 +02:00
Michael Lotz
2747989d9e USB: Warn if debug allocation does not fit debug chunk size. 2014-08-31 12:08:20 +02:00
Michael Lotz
9c0623a8f2 USB: Increase debug chunk size from 64 to 128 bytes.
The queue head structure in EHCI is bigger than the previous debug
chunk size. Multiple allocations therefore overwrote eachother.
2014-08-31 12:08:19 +02:00
Michael Lotz
21c0d3131d USB: Remove check for UHCI in get_usb_pipe_for_id kdl command.
The bus managers check that the pipe belongs to them in their
respective debugger commands.
2014-08-31 12:08:19 +02:00
Michael Lotz
4182d2cadf EHCI: Cleanup member declaration order to match definition. 2014-08-31 12:08:18 +02:00
Michael Lotz
7cbae3c969 EHCI: Implement debug transfers. 2014-08-31 12:08:17 +02:00
Michael Lotz
d7626f8db3 EHCI: Move locking to be only around actually critical section. 2014-08-31 12:08:17 +02:00
Michael Lotz
63cf3cfa11 EHCI: Simplify short packet logic to use alternate pointer.
The alternate pointer is the software equivalent of the alternate
physical address in the hardware queue head part. The controller
follows that path, so we can follow the alternate pointer as well.
Simplifies and generalizes the logic.
2014-08-31 12:08:16 +02:00
François Revol
66b9a96b18 typo hrev47783 2014-08-31 02:06:37 +02:00
Ithamar R. Adema
586995da47 ARM: make ARM C++ unwind stubs panic
As suggested by Francois, thanks for paying attention!
hrev47782
2014-08-30 16:50:46 -07:00
Ithamar R. Adema
780ca2bd15 ARM: abort() is already pulled in using kernel_util.o
It was just here to make libgcc happy.
hrev47781
2014-08-30 16:43:49 -07:00
Ithamar R. Adema
ad5bdbdfd4 ELF: enlarge the allowed padding between sections
Turns out the padding on ARM is slightly larger, and prevented
the kernel add-ons from being loaded.
2014-08-30 16:43:48 -07:00
Stephan Aßmus
6e48c81bad HaikuDepot: Try to use correct architecture and preferred language...
... when retrieving package info. Added listener support for setting
the summary and description. The list view updates on summary changes.
Those happen (in theory) if the web app provides a translated summary.
hrev47780
2014-08-31 01:31:16 +02:00
Stephan Aßmus
27dd7f6d71 HaikuDepot: Add User-Agent header to web app JSON requests. hrev47779 2014-08-30 23:42:08 +02:00
Stephan Aßmus
e3fdc8940c HaikuDepot: Use web app bulk transfers.
Collect up to 50 packages and get information about them in a bulk transfer.
If that fails, do it in two smaller transfers, until only one package is
left, fall back to use the getPkg method than.

Remember packages for which there is an icon on the server. After the
first round of reading icons from the cache, only try to fetch icons from
the server for which we know one should be there.

Added quite a bit of command line output to see what is going on.
2014-08-30 23:42:07 +02:00
Stephan Aßmus
630c253b03 HaikuDepot/WebAppInterface: Support bulk transfers.
Refactor code to send different JSON requests.
2014-08-30 23:42:05 +02:00
Stephan Aßmus
e9c77bd249 JSON parser: Added TODOs. 2014-08-30 23:42:04 +02:00
Stephan Aßmus
ee942591ca JSON parser: Fixed increasing position after constants.
The first letter is already increased by the main parse loop.
2014-08-30 23:42:03 +02:00
Stephan Aßmus
ffd7c6110b JSON parser: Improve by using exceptions to get exact error
Also strip redundant "_Parser_" prefix from private methods.
2014-08-30 23:42:02 +02:00