Commit Graph

48004 Commits

Author SHA1 Message Date
Oliver Tappe
7d09a8dc67 Fix build of '<build>package_repo' for real.
* add missing command_update.cpp
2013-09-18 15:42:36 +02:00
Ingo Weinhold
53b162523f Fix host-only build. 2013-09-18 15:41:12 +02:00
Oliver Tappe
d7cbcb13da Fix build of <build>package_repo. 2013-09-18 15:40:19 +02:00
Oliver Tappe
85caa0459d Use BPackageInfoContentHandler in package_repo 'update'.
* Ingo has pointed me at this class which already does the collecting
  of package attributes into a PackageInfo - so there's no need to
  do it manually.
2013-09-18 15:40:19 +02:00
Rene Gollent
2f89f68ee7 MainWindow: Initial hooks into package kit.
- MainWindow now attempts to refresh all available repositories and
  fetch their respective package lists on startup. Much still remains
  to be done, such as factoring this out into a background process so
  it doesn't prevent the window from showing, and making the refresh step
  optional if we already have valid repository information, but this at
  least gets us showing the available package list from HaikuPorts.
2013-09-18 15:31:15 +02:00
Rene Gollent
0c5468eef0 HaikuDepot: Stub out various support classes for package kit use.
- DecisionProvider and JobStateListener will be needed in order to
  interact with the package kit in various ways eventually, though
  the implementations are currently all empty.

- Adjust HaikuDepot's PackageManager class to inherit from
  BPackageManager, so as to be able to actually interface with
  the package repositories.
2013-09-18 15:31:15 +02:00
Rene Gollent
93cb796e37 Context: Add more uniqueness to temp directory names.
- If a single thread attempted to establish multiple package kit
  contexts, it would fail due to a collision between their respective
  temporary directories. As such, use both the thread ID and
  system_time() as a random elements in the directory name to ensure
  this doesn't occur.
2013-09-18 15:31:14 +02:00
Oliver Tappe
da33beab70 Add command 'update' to package_repo.
* 'update' takes an existing repository and a package list file and then
  creates a new repository from that, avoiding expensive
  checksum-recomputations where possible
2013-09-18 12:05:35 +02:00
Oliver Tappe
50ae264dad Add support for adding a package-info to BRepositoryWriter. 2013-09-18 12:05:34 +02:00
Oliver Tappe
30a517bc64 Add handling of B_PACAKGE_INFO_CHECKSUM to PackageInfoPrinter. 2013-09-18 12:05:34 +02:00
Ithamar R. Adema
7416b5878f ARM: verdex: Make sure __XSCALE__ is defined when compiling.
This is especially important for the assembler code in the kernel,
since it enables workarounds for some critical errata related to
exception handling.
2013-09-18 06:34:40 +02:00
Ithamar R. Adema
501b24c63b ARM: kernel: Make 32/64-bit atomics work for ARMv5/6
Support for 64-bit atomic operations for ARMv7+ is currently stubbed
out in libroot, but our current targets do not use it anyway.

We now select atomics-as-syscalls automatically based on the ARM
architecture we're building for. The intent is to do away with
most of the board specifics (at the very least on the kernel side)
and just specify the lowest ARMvX version you want to build for.

This will give flexibility in being able to distribute a single
image for a wide range of devices, and building a tuned system
for one specific core type.
2013-09-18 05:03:18 +02:00
Ingo Weinhold
6dee6653c2 When switching to PAE don't copy not needed PTEs
Now we check whether the virtual address corresponding to the PTE lies
in an allocated virtual address range. This fixes a cause of #8345:
The assertion would trigger when such an entry was encountered. There
might be other causes that trigger the same assertion, though.
2013-09-18 00:42:45 +02:00
Ingo Weinhold
372a666344 X86VMTranslationMapPAE: Add some ktracing for page (un)mapping 2013-09-18 00:42:45 +02:00
Ingo Weinhold
6508ce9f52 X86VMTranslationMapPAE::Map(): More info in assert 2013-09-18 00:42:44 +02:00
Ingo Weinhold
bcb7463650 arch_vm_translation_map_early_map(): Fix debug output 2013-09-18 00:42:44 +02:00
Ingo Weinhold
93495b0354 X86PagingStructuresPAE: clear fVirtualPageDirs in constructor
... not just the first element. Fixes a crash in X86VMTranslationMapPAE
destructor when running out of memory when initializing the map.
2013-09-18 00:42:44 +02:00
Ingo Weinhold
34d0d4d85e dump_page_queue(): fix output
* Determine the cache type per page instead of printing the first page's
  cache type for all pages.
* Use vm_cache_type_to_string().
2013-09-18 00:42:43 +02:00
Ithamar R. Adema
cc65466f0d ARM: kernel: Make KDL more useful on ARM
This adds the -mapcs-frame compiler flag for ARM to have "stable"
stack frames, adds support to the kernel for dumping stack crawls,
and initial support for iframes. There' much more functionality
to unlock in KDL, but this makes debugging already a lot more
comfortable.....
2013-09-17 23:04:59 +02:00
Ithamar R. Adema
740490ba82 ARM: libroot: fix setjmp/longjmp implementation.
Just a couple of lines of code, but a head full of pain ;-) Finally
got it right and now KDL can properly recover from invalid accesses.
2013-09-17 22:26:48 +02:00
Rene Gollent
d6f41e8920 Debugger: Fix off by one error in report generator.
- The disassembly dump would consequently stop at the instruction
  prior to the actual crash culprit, and also erroneously mark it
  as such.
(cherry picked from commit 7de035619b)
2013-09-17 18:19:35 +02:00
Rene Gollent
7de035619b Debugger: Fix off by one error in report generator.
- The disassembly dump would consequently stop at the instruction
  prior to the actual crash culprit, and also erroneously mark it
  as such.
2013-09-17 18:18:59 +02:00
Rene Gollent
176041c517 Build fix. 2013-09-17 16:02:43 +02:00
Rene Gollent
1f67148f70 Automatic whitespace cleanup. 2013-09-17 16:01:50 +02:00
Rene Gollent
6f17e7a7b3 Remove references to HAIKU_LOCALE_LIBS.
- No longer exists in PM branch, and isn't really necessary any
  more as it only refers to liblocalestub anyhow.
2013-09-17 15:58:56 +02:00
Ithamar R. Adema
34ed0fe74a ARM: kernel: fix system_time() when being called too early. 2013-09-17 15:57:36 +02:00
François Revol
09d213f3b3 PPC: OF: Make sure kernel args match the U-Boot one
Since both platforms can boot the same kernel we must accept either
arg, so we make sure they are identical for now.

TODO: use a union or KMessage maybe?
2013-09-17 15:49:49 +02:00
Rene Gollent
eeebe2843a Manually merge 1410faca6c. 2013-09-17 14:42:08 +02:00
Rene Gollent
89d18e912d Debugger: MemoryView - Tweak target address drawing.
- Since we actually draw a selection now, change the target address
  highlight to clearly distinguish it. Rather than inverting it, it's
  now drawn with a normal background and red text in the hex display.
  The text mode subcomponent still shows it as an invert though, since
  the latter doesn't currently indicate the selection.
2013-09-17 14:42:07 +02:00
Rene Gollent
98c5cb2682 Debugger: Fix RegistersView context menu.
- Always grab the address value from the actual register value column,
  rather than the one that's in fact under the mouse. Fixes the "Inspect"
  item sending you to inspect address 0 if you happened to right click over
  the register name rather than the value.
2013-09-17 14:42:07 +02:00
Rene Gollent
2c130f09bf Debugger: Fix calculation in MemoryView.
- The offset calculation for mapping the current point wasn't taking
  into account the number of bytes per hex block, causing it to be
  proportionally further off if one switched to 16/32/64-bit hex mode.

Gets mouse selection working properly in said modes.
2013-09-17 14:42:07 +02:00
Ithamar R. Adema
dfa5aa0c98 device_manager: Move init_node_tree to after kdl cmd registration
This helps when debugging, since when a driver/module causes a crash
while registering with the device manager, you can actually look at
the device manager state ;-)
2013-09-17 14:42:06 +02:00
Ithamar R. Adema
102ce4652a norflash: do not accept any device as a valid 'norflash'
Seems the original code was a little *too* simple ;-)
2013-09-17 14:42:06 +02:00
Ithamar R. Adema
ba06f07660 ARM: kernel: fix timer resolution and implement basic timekeeping.
The previously used method for programming the timer did not take
into account that our timespec is 64bit while the register we poke
it into is 32 bit. Since the PXA (SoC in Verdex target) has a limited
scale of resolution (us,ms,second) we dynamicly determine the one
that we can most closely match, and set that.

For f.ex. snooze to work however, we also need system_time to work.
The current implementation uses a system timer at microsecond
resolution to keep track of time.

Although the code is far from perfect, committing it now before
it gets lost, since I'm working on the infrastructure code
to properly factor out the SoC specific code out of the core
ARM architecture code (so the kernel can support more then
our poor old Verdex QEMU target ;))
2013-09-17 14:42:05 +02:00
Ithamar R. Adema
4f4270c990 loader/u-boot: fix alignment of uimage components.
The "blobs" in a U-Boot uimage are aligned at 4 bytes, which we
did not take into account. Found this when adding a 3rd blob
containing the Flattened Device Tree for ARM.
2013-09-17 14:42:05 +02:00
John Scipione
c315b2b18a Revert "ScreenSaver: ScrollToSelection off-by-one"
This reverts commit fb90f7ffe4.

Underlying issue fixed in hrev46066
2013-09-17 14:42:05 +02:00
Pawel Dziepak
4efb0a6d36 posix: Update PTHREAD_STACK_MIN to match MIN_USER_STACK_SIZE
Thanks for pointing this out Pete!
2013-09-17 14:42:04 +02:00
Pawel Dziepak
772568c476 system: Use B_PAGE_SIZE to define stack sizes
As korli suggested use B_PAGE_SIZE for defining stack size related
definitions what seems to be more natural for them  and also may
help if we ever support an architecture with page size different than
4kB.
2013-09-17 14:42:04 +02:00
Pawel Dziepak
533036dde7 libroot: Make sure PTHREAD_STACK_MIN is in the allowed range 2013-09-17 14:42:03 +02:00
Stephan Aßmus
b748950b74 HaikuDepot: Update package list when necessary
* Pass the Model lock to the PackageListView.
 * Register a PackageInfoListener with every listed package.
 * Update the rating when it is fetched.
2013-09-17 14:42:03 +02:00
Stephan Aßmus
ed6f171aa6 BColumnListView: Enable invalidating rows, fix SetField()
* Seems like there was no easy way to simply invalidate
   a given BRow. Introduced BColumnListView::InvalidateRow().
 * BRow::SetField() tried to invalidate the row, but invalidated
   the listview instead of the BOutlineView responsible for
   drawing the list contents. Use the new InvaalidateRow().
2013-09-17 14:42:03 +02:00
Rene Gollent
72b9e4a7bc Fix gcc2 build. 2013-09-17 14:42:02 +02:00
Stephan Aßmus
f7628f839d HaikuDepot: Fixed selecting the right package when the list is sorted. 2013-09-17 14:42:02 +02:00
Stephan Aßmus
b9898c45f4 HaikuDepot: Also lock the model when updating the list 2013-09-17 14:42:01 +02:00
Stephan Aßmus
7eec822d5e HaikuDepot: Package information can be retrieved asynchronously 2013-09-17 14:42:01 +02:00
Rene Gollent
62b27e6277 Fix previous format problem more correctly.
Thanks Ingo, Oliver and Ithamar for the hint.
2013-09-17 14:42:01 +02:00
Rene Gollent
153c6c4a40 Debugger: Fix data copy issue.
- B_PRIx8 unfortunately doesn't necessarily strictly stay within the bounds
  of an 8-bit hex constant, so force the size passed to snprintf to make it
  that way.
2013-09-17 14:42:00 +02:00
Rene Gollent
59cef1fa18 Build fix. 2013-09-17 14:42:00 +02:00
Rene Gollent
f7e1dc6c46 Debugger: Add selection support to MemoryView.
- The Inspector's memory view now supports selecting chunks of the hex display in
  the manner one would in a TextView. The selection can also be copied to the clipboard,
  or if it matches the size of a target address, can be used as input for an address to
  inspect directly.

Still needs some fine tuning, but basically works.
2013-09-17 14:41:59 +02:00
Rene Gollent
ad054cf1e1 Debugger: Implement #9961.
- FileManager now saves any explicitly located file mappings,
  and properly restores them when reloading the same team/files later.
2013-09-17 14:41:59 +02:00