Commit Graph

39587 Commits

Author SHA1 Message Date
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
Alexander von Gluck IV
415c4ad366 correct incorrect read location of PLL data
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41467 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-13 03:17:31 +00:00
Alexander von Gluck IV
9331e9bb0d fix bitwise check for mode timing polarity
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41466 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-12 22:03:47 +00:00
Alexander von Gluck IV
88bfef92b3 add hook to pass EDID back if requested by userspace (screen applet); fix calculation of H blankStart; correct typo on H_SYNC vs V_SYNC register; set +/- V_SYNC to 0x01 vs 0x02.. this prob still needs work; style corrections
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41463 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-12 16:58:49 +00:00
Scott McCreary
ff395022a6 Fixed openssl links.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41462 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-12 04:51:36 +00:00
Scott McCreary
9abab7eb49 Added gcc4 version of git.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41461 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-12 03:01:17 +00:00
Alexander von Gluck IV
c106176083 doh! style fix; no functional change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41460 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-12 01:41:33 +00:00
Alexander von Gluck IV
e1d1a14430 further enhance / cleanup tracing; detect Radeon HD graphics card memory size and store it in shared info
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41459 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-12 01:36:51 +00:00
Scott McCreary
fb90397da7 Updated builds of openssl, openssh, git, mercurial, curl and neon.
Fixed typo on previous commit of expat.
Note that this moves the location of openssl, so other packages that 
make use of openssl may or may not require rebuilding as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41458 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-12 00:40:21 +00:00
Michael Lotz
0798779a2f Resolve TODO: Take the writing order into account. Ensure the mask bit is
written first/last depending on the operation to avoid modifying entries that
are still unmasked or unmasking entries that aren't set up yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41457 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-12 00:11:34 +00:00
Michael Lotz
f91cbdde46 Better watch those 1s. These are actually signed 32 bit values, so they will
have unexpected side effects once we shift them more than 30 bits.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41452 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-11 23:38:06 +00:00
Michael Lotz
ca00b28e8b Fix another case where the local interrupt vector would be added instead of the
global system one.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41451 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-11 23:17:12 +00:00
Michael Lotz
0414a20330 Print some more MADT entries when debug output is enabled. Right now they are
informational only, but most of these entries actually need to be handled.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41450 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-11 23:14:02 +00:00
Michael Lotz
6347525607 * Always retrieve the APIC ID from the descriptors.
* Actually program the IO-APIC ID when configuring the IO-APIC.
* Moved some debug output around.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41447 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-11 19:55:56 +00:00
Ingo Weinhold
5e36c12a42 mmu_allocate_physical(): The wrong base argument was passed to
get_free_physical_address_range(). Fixes the debug syslog feature.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41446 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-11 19:10:26 +00:00
Michael Lotz
a56cbb2afb * When initializing MSI support, don't assume a single 24 entry IO-APIC. Instead
mark the ISA interrupts as unusable and then use ioapic_is_interrupt_available
  to determine if that vector is possibly taken by an IO-APIC. If IO-APICs are
  not used, this will simply always return false, leaving all vectors free for
  MSI use.
* The msi_init() now has to be done after a potential IO-APIC init, so it is now
  done after ioapic_init() instead of inside apic_init().
* Add apic_disable_local_ints() to clear the local ints on the local APIC once
  we are in APIC mode (i.e. the IO-APIC is set up and we don't need the external
  routing anymore).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41445 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-11 18:05:05 +00:00
Alexander von Gluck IV
dfd1e5889e remove (now) un-needed modeline examples; no functional change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41443 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-11 17:04:31 +00:00
Michael Lotz
0f91697fd7 Fix previous commit and add printing APIC id fields.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41437 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-11 11:24:15 +00:00
Michael Lotz
cdb247a328 Extended and fix some of the debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41436 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-11 11:16:10 +00:00
Michael Lotz
7a8ce431b5 Obviously we want to use the GSI as interrupt vector as well...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41435 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-11 09:49:51 +00:00
Michael Lotz
e9d5569740 Only make GSI 0 into an ExtInt and GSIs 1-15 ISA interrupts. When having
multiple IO-APICs every IO-APIC was initialized to the standard mapping before.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41434 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-11 09:13:21 +00:00
Michael Lotz
407af313ca Make the signature argument to get_table() const. Should fix the GCC4 build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41433 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-11 09:05:43 +00:00
Michael Lotz
ca67ddb353 When enumerating IO-APICs failed, try to still get the routing done with how far
we got. If the routing is possible with the limited IO-APICs everythings good,
if not we will simply fail at the routing preparation stage where we can still
fall back gracefully. This makes things a bit more error resilient.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41432 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-11 09:01:50 +00:00
Michael Lotz
eda743903e Provide an interrupt availability check callback instead of a maximum IRQ
number. This accounts for possible gaps in the IO-APIC GSI mappings. Since most
of the time there will be only a single IO-APIC the extra overhead is relatively
small.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41431 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-11 08:47:56 +00:00
Michael Lotz
d11e32a807 Enumerate IO-APICs using the ACPI Multiple APIC Descriptor Table (MADT). We do
the same for the first IO-APIC in the bootloader (also using the MADT), but
here we can use the ACPI module. The enumerated IO-APICs are added to the list
and should be usable from there on. For lack of hardware I wasn't able to really
test that though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41430 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-11 08:27:03 +00:00
Michael Lotz
2645ca0a28 Provide a function to gain ACPI table access.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41429 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-11 08:22:22 +00:00
Michael Lotz
5d01e61a91 * Prepared everything to eventually support multiple IO-APICs.
* Added some TODOs regarding register write order that might have bad side
  effects.
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41428 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-11 02:50:36 +00:00
Michael Lotz
20537052a2 Quick build fix for the FreeBSD compatibility layer. Maybe the definition should
be moved to a (even) more private header?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41427 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-11 01:30:55 +00:00
Michael Lotz
dc14d97b7f * Move the legacy PIC and the IO-APIC code into their own source file. No
functional change intended.
* Use an appropriately sized sLevelTriggeredInterrupts for each controller type.
  This also fixes an out of bound access for IO-APICs with more than 32 entries
  and also returns the right mode in such cases.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41426 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-11 00:53:03 +00:00
Jérôme Duval
26d28d0d1d enable KASSERT in net80211 and fixes wrong uses of the macro.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41425 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-10 21:59:55 +00:00
Jérôme Duval
7df33d912b * Implement inbound isochronous transfer for EHCI, based on UHCI implementation.
* changes next_log to their actual type instead of void*
* the field this_phy now includes the item type, it simplifies things.
* isochronous transfer descriptors are linked in the periodic frame list first,
and points to existing interrupt transfer descriptors.

This is still work in progress. Yet it's worth committing as it doesn't seem to
have impacts, and is required for the UVC SoC project. Tested basically with 
usb_webcam to receive UVC stream headers.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41424 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-10 21:25:32 +00:00
Jérôme Duval
16d113f9e5 fix typo
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41423 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-10 21:05:41 +00:00
Michael Lotz
393b3b70a7 Fix build with TRACEs on.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41422 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-10 18:47:11 +00:00
Oliver Tappe
af2da315dc Fix the larger problem that was hiding behind the build problem of set_haiku_revsion on FreeBSD:
* the length of the sHaikuRevision character array symbol needs to be set explicitly,
  as using either _SYS_NAMELEN or sizeof(utsname::version) will only return the values
  for the host, which may not match ours, thus potentially causing problems when using
  sHaikuRevision
* add headers/private/system_revision.h which defines SYSTEM_REVISION_LENGTH to 128
* adjust definitions of sHaikuRevision in libroot and kernel accordingly
utsname::version is shorter than SYSTEM_REVISION_LENGTH, but that doesn't cause any harm
until we have indeed switched to a DVCS (in which case longer revision strings will be 
cut off by 'uname').


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41421 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-10 15:35:04 +00:00
Michael Lotz
c7e314bba7 Use const references instead of pointers for the print functions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41417 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-10 10:07:46 +00:00
Michael Lotz
9173e3843e * Choose the desired configuration of the link devices at preparation time
already. This allows to detect invalid settings before starting to enable
  IRQ routing and therefore allows to gracefully fall back to PIC mode on error.
* Actually read the number of IO-APIC entries before using that number in
  routing preparation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41416 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-10 09:59:50 +00:00
Michael Lotz
ad1757252e Check hardwired and chosen IRQs against the maximum we can address. Try to fail
gracefully in such cases (resulting in the IO-APIC not being used).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41415 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-10 09:29:57 +00:00
Michael Lotz
414f205aee Remove the IRQ to IO-APIC pin mapping array. It isn't used as we don't redirect
vectors at all. It'd also not work for multi IO-APIC setups which we don't
support yet (but are relatively rare anyway).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41414 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-10 08:50:57 +00:00
Michael Lotz
3c4a8701d6 Remove comment that does no longer apply.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41413 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-10 07:31:55 +00:00
Alexander von Gluck IV
c9769c1cc4 small workaround to prevent network preflet crashes on NAT network cards in VirtualBox and VMWare. Not a final solution but preventing a crash is always a plus. resolves #7038. Thanks Skipp_OSX!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41412 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-10 03:03:29 +00:00
Alexander von Gluck IV
2613175e19 * add commented out radeon_hd driver/accel to HaikuImage
* add boot item support to radeon hd driver
* add edid storage to shared info
* add pull of active monitor VESA EDID to radeon hd driver (until AtomBios complete)
* EDID pulled in driver now passed to create_display_modes
* move registers to external stock xorg radeon hd register headers (lic. allows it)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41411 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-10 02:02:41 +00:00
Joachim Seemer
dde6902f79 Updated Finnish catkeys.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41406 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-09 18:11:12 +00:00