Commit Graph

39328 Commits

Author SHA1 Message Date
Michael Lotz
74e9ede3b2 Simplify and clean up. Removed most of the shifts and made direct masks out of
the macros. This makes things more readable and also fixes the few remaining
80 char limit violations. No functional change intended.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41533 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 14:32:01 +00:00
Michael Lotz
bc409b4915 Fix minor debug output oversight in the last commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41532 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 14:11:24 +00:00
Michael Lotz
9ae3fdcb02 * Move redirection entry configuration into a separate function and allow to
specify the delivery mode.
* Use that function from ioapic_configure_io_interrupt() and use it when
  configuring NMI sources to actually set the entries to NMI.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41531 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 14:06:27 +00:00
Michael Lotz
86d59c04c6 Support NMI sources. Any non maskable interrupt (NMI) will be marked as
unavailable for routing so that we don't end up configuring anything on them.
I haven't seen these in actual use though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41530 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 13:36:31 +00:00
Michael Lotz
22d72c8ee1 Guard against IO-APICs with too many entries. We only support 64 entries because
we use a 64 bit level triggered mask. In practice these don't exist as far as I
know. If we encounter them at a later stage we need to revisit the mask.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41529 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 13:25:45 +00:00
Michael Lotz
fb5a1727f4 * Implement interrupt source overrides. We install a relay interrupt handler
at the override entry to trigger the overriden vector so that we don't need
  to configure any additional redirections.
* Also configures the polarity and trigger modes found in the override entry.
* When disabling the legacy PIC, retrieve the enabled interrupts and re-enable
  then in the IO-APIC. This will for example make the ACPI SCI work that is
  installed prior to switching interrupt models. Through the transparent support
  for interrupt source overrides it'll also automatically relay from the old to
  the new vector.

This should make ACPI interrupts work and should support relocating the ISA PIT
from irq 0 to a different global system interrupt (usually 2) so that it can
still work when IO-APICs are in use.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41528 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 12:57:40 +00:00
Michael Lotz
9c1714ec1a Enable IO-APICs by default. It's been tested on a broad spectrum of hardware and
all reports so far have been positive. We fall back to legacy mode in the cases
where we can't figure out the correct routing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41527 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 08:42:30 +00:00
Alexander von Gluck IV
e49d783eb9 add proper memory size unit handling across all driver supported cards
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41526 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 04:43:58 +00:00
Alexander von Gluck IV
2be925fd04 * turns out r800 has different register locations :(
* remove device_type and replace with device_chipset
* change MEMSIZE to >> 10 as r600-r700 store this in bytes (r800 uses MB and will be fixed soon)
* add if statement to select what register locations to use based on chipset
** Maybe use a struct or something to store these in a standardized way?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41525 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 04:03:18 +00:00
Scott McCreary
8ba4ac51f5 Updated libiconv gcc2 optionalpackage to clean up B_COMMON_DOCUMENTATION_DIRECTORY/doc directory.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41524 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 03:20:45 +00:00
Alexander von Gluck IV
344802cb7d stir in evergreen/r800 mixins from Xorg radeonhd driver, may need to add to this as I just grep'ed evergreen; r800/evergreen has a different set of registers for some things, thus my work so far not working for me :(
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41523 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 02:53:15 +00:00
Oliver Tappe
8ff44a4329 Fix and improve code for determining Haiku revision from a git repo
* break out most of the CopySetHaikuRevision action into a separate script:
  determine_haiku_revision
* fix git branch detection such that it'll actually work for local branches (thanks to 
  Andreas Färber for the hint)
* add some sanity checks


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41520 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 22:45:43 +00:00
Rene Gollent
83a3452c49 Fix build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41519 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 19:18:38 +00:00
Alexander von Gluck IV
536fb7eef6 added 4770, thanks moochris!; added 5650, thanks DaaT!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41518 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 19:08:24 +00:00
Oliver Tappe
6a5ce30120 Move functions declared in private/system/system_info.h out of the public namespace.
* prepend private functions get_system_info_etc(), start_watching_system() and 
  stop_watching_system() with '__'
* adjust callers accordingly


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41517 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 17:02:36 +00:00
Oliver Tappe
22a7fe9695 Cleanup system-revision stuff.
* move system_revision.h to headers/private/libroot
* unify libroot's get_system_revision() (the one I introduced recently) with kernel's
  get_haiku_revision(), the function is now called get_haiku_revision() in the kernel
  and __get_haiku_revision() in libroot
* system_revision.c is now being built as part of libroot and as part of the kernel
* adjusted all callers of get_system_revision() accordingly


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41516 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 16:33:30 +00:00
Joachim Seemer
cfd233613f Updated Swedish catkeys.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41515 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 16:01:44 +00:00
Michael Lotz
609f2f3393 Check if PCI interrupts are disabled on the EHCI device. Rather unlikely to be
the case, but maybe there's some BIOSes that disable them? More or less poking
around for #5551, doesn't do any harm in any case.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41514 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 15:03:38 +00:00
Michael Lotz
c46509339b * Disable interrupts in OHCI before doing BIOS handover. Shouldn't matter much
but maybe it helps on some chipsets to avoid interrupt storms during handover.
* Remove comments that aren't true anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41513 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 14:42:53 +00:00
Michael Lotz
3bb5704280 Introduce workaround for the (documented) bug with ATI/AMD SB600 and early SB700
periodic list cache. This workaround is based on similar patches in NetBSD and
Linux and disables the (Advanced) Periodic List Cache on the affected devices
using ATI/AMD specifc registers (as documented in the corresponding AMD
register reference guide).
Also remove a ton of stray whitespace introduced by the isochronous patches.
Please take more care the next time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41512 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 14:36:19 +00:00
Scott McCreary
84464c202e Updated subversion optionalpackages to getrid of gettext dependency.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41511 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 06:11:39 +00:00
Scott McCreary
ca4d4538aa Updated neon optionalpackage without dependency on gettext.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41510 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 06:08:33 +00:00
Scott McCreary
a94173fd0f Updated gcc4 optionalpackage for yasm to remove dependency on
gettext.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41509 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 03:01:33 +00:00
Alexander von Gluck IV
19935655ac add Radeon 5470, thanks RISC!; simplification in Blanking call, thanks Axel!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41507 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 00:37:59 +00:00
Michael Lotz
e64bb27712 Fix another oversight of r41500. The size check was using sizeof(char *) instead
of bufferSize, corrupting entries when multiple items within the same menu were
checked.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41505 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-14 23:22:35 +00:00
Michael Lotz
192bc027ea Disabling the local APIC also means disabling SMP, as the APIC is the base for
all inter-CPU messaging. The previously described timekeeping is just an extra
function of local APICs. Before, if you'd select "disable local APIC" it would
still blindly write to invalid memory (targetting the non-mapped local APIC) and
then just hang waiting for the other CPUs (that were obviously not responding
to the init sequence that wasn't programmed).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41504 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-14 23:09:18 +00:00
Michael Lotz
ba0c232abb Fix typo that caused the (first) IO-APIC address not to be set anymore when
configuring SMP via MP tables. We don't support that method anyhow, but it
should still report correctly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41503 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-14 22:37:26 +00:00
Rene Gollent
469cccb22c Fix small error in previous commit that resulted in the fix not working as intended.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41501 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-14 21:12:07 +00:00
Rene Gollent
e21407d07b When applying settings from the boot menus, aggregate them and then add them
to the kernel args in a single go. Otherwise we wind up with more link list
entries than expected, which in turn resulted in settings not quite being
parsed properly upon entering the kernel, which meant that if options were
chosen in both the debug and safe mode menus, only the debug ones were
applied. This might also have resulted in the kernel settings not being
loaded correctly in such an instance.

Should fix various issues people have had with safe mode settings not being
applied properly.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41500 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-14 20:37:37 +00:00
Matt Madia
502fc780bf Updated the header files for the boot splash, to display the registered
trademark symbol.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41499 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-14 18:59:26 +00:00
Michael Lotz
5316b696ae * Set the actual default of the ACPI module to enabled instead of relying on the
kernel settings file. As pointed out by Rene, there's otherwise no way to
  enable ACPI when the settings file is absent, as there's only a disable switch
  in the boot menu.
* Remove MADT dumping as it isn't really implemented. This info can actually be
  printed in the IO-APIC code now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41497 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-14 16:28:43 +00:00
Alexander von Gluck IV
cf546fa0c3 move framebuffer setting code into its own function; reorder mode setting operations to match Xorg driver; make mode functions CRT1/2 register aware
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41496 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-14 14:34:12 +00:00
Alexander von Gluck IV
b113e735bb place myself in proper section, thanks for letting me know AnEvilYak
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41495 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-14 13:46:16 +00:00
Alexander von Gluck IV
ffea7c6e23 adding myself to about window contributors section before A3, if this is the wrong section please let me know via the ML
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41494 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-14 13:30:30 +00:00
Clemens Zeidler
08c9600ab9 Add a simple query app to search all music files on all volumes. Entries are searched and displayed on the fly while typing the search string. The query searches for artist, album and title. After some smaller improvements it could be integrated into media player.
While I was missing such an application I also used it as a playground for eventual tracker improvements. At the moment it works this way: The query is read in a background thread where a list of entry_ref is filled. The entries are exchanged thread safe with the display view using two entry_ref lists which are swapped when the view handled all entries from one list... The view is responsible to display the entry_ref's and load all attributes. In a future directory view, the view would be responsible to load all additional attributes. For example, first fetch the sort column and then asynchronously the rest (as discussed on the mailing list).
 
- I found the following query issue: when displaying the whole collection the query uses a empty string, the problem is that empty strings are not handled in live queries. For example, when adding a new Media:Artist attribute to a file the file does not show up in the query. Running a none empty query, e.g. Media:Artist contains "test" it shows up. Thats a bug right?

- Only tested it with just ~2100 music file and the on the fly performance is very good. Displaying the complete music list is quite slow, though. This seems to be not a query problem but more a BOutlineView issue. Adding new items to the list seems to be expensive...

- At the moment a new query is started each time you typing a char. A faster solution would be to start just one query in the beginning and then just filter this list. Since BOutlineView seems to be the bottleneck I kept it this way for now. Furthermore, it is a nice performance test for queries.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41493 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-14 07:08:26 +00:00
Scott McCreary
3da6df44df Cleaned up directories for libiconv gcc4 optionalpackage
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41492 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-13 23:57:45 +00:00
Scott McCreary
8af3c3e614 Cleaned up gcc4 libpcre optionalpackage, it was putting files in B_COMMON_DOCUMENTATION/doc rather
than B_COMMON_DOCUMENTATION/doc/pcre.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41490 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-13 23:32:11 +00:00
Scott McCreary
5733c80d30 Fixed gcc4 sed optionalpackage.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41489 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-13 23:27:13 +00:00
Oliver Tappe
9160cdc297 * adjust AboutSystem to fetch the system revision via
get_system_revision() instead of parsing it from utsname

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41480 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-13 20:38:19 +00:00
Oliver Tappe
a961bbc69d * move sHaikuRevision from uname.c into new system_revision.c
* add private function get_system_revision() for accessing the
  revision string
* adjust uname to use get_system_revision

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41479 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-13 20:38:14 +00:00
Oliver Tappe
64c5bc6323 * add support for generating a useful haiku-revision from a
git repository

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41478 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-13 20:38:02 +00:00
Joachim Seemer
88a50ed5df Fixed 80 char limit found by John Scipione.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41477 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-13 18:33:51 +00:00
Michael Lotz
8908aef9c2 * Don't map the IO-APIC within the bootloader. We don't need it to set up SMP
at all and, since there can be multiple IO-APICs, we need to do the
  enumeration again in the kernel anyway. Also only set ioapic_phys the first
  time we encounter an IO-APIC object as it looks cleaner when we arrive at the
  first IO-APIC default address.
* Therefore we don't have to worry about already mapped IO-APICs when
  enumerating them in the kernel.
* Also remove the mapping function that is now not used anymore.
* We still use the ioapic_phys field of the kernel args to determine whether
  there is an IO-APIC at all to avoid needlessly doing the enumeration again.

This fixes multi IO-APIC configurations, because before we would indeed map
the last IO-APIC listed in the MADT, but then in the kernel assumed we mapped
the first one. We'd end up with mapping the last listed IO-APIC twice and the
first IO-APIC never, always programming the last one when we actually targetted
the first one.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41476 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-13 16:31:31 +00:00
Scott McCreary
c75f313fbd Added gcc4 man optionalpackage
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41475 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-13 15:40:53 +00:00
Scott McCreary
ee71768be6 Added gcc4 taglib optionalpackage
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41474 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-13 15:36:25 +00:00
Scott McCreary
01e2c102e2 Added gcc4 yasm optionalpackage
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41473 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-13 15:31:10 +00:00
Scott McCreary
ec949c22c2 Added fastdep gcc4 optionalpackage
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41472 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-13 15:24:55 +00:00
Scott McCreary
64979f3ecf Added ccache gcc4 optionalpackage
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41471 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-13 15:20:53 +00:00
Scott McCreary
92758e8cdb Added gcc4 sed optionalpackage.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41469 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-13 07:06:34 +00:00
Scott McCreary
1e11575453 Added bzip2 gcc4 optionalpackage.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41468 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-13 06:59:13 +00:00