History log of /src/sys/arch/sandpoint/stand/altboot/brdsetup.c |
Revision | | Date | Author | Comments |
1.42 |
| 20-Dec-2023 |
thorpej | Remove unnecessary <sys/malloc.h>.
|
1.41 |
| 16-Feb-2022 |
riastradh | powerpc: Sprinkle "memory" clobbers on eieio and nearby asm blocks.
Otherwise the compiler may reorder these around loads and stores, which mostly defeats the purpose. `asm volatile' just ensures the instruction isn't _deleted_; it may still move around.
|
1.40 |
| 09-Aug-2021 |
andvar | fix various typos in compatibility, mainly in comments.
|
1.39 |
| 03-Aug-2017 |
phx | Some Synology network devices show vendor 0x1148 (Schneider & Koch) instead of 0x11ab (Marvell). Detect both. Improve spinning up of both disk drives on Synology DS20x by adding some more delays (directly at the start and after powering up the second drive).
|
1.38 |
| 03-Aug-2017 |
phx | Fixed overflow in delay() for delays greater than 2 seconds. Replaced u_long by uint32_t and u_quad by uint64_t whenever the exact 32- or 64-bit word is needed.
|
1.37 |
| 15-Oct-2015 |
nisimura | fix a board type check logic error that affected Linkstation and Kurobox (HG). They were mistakenly recognized kurot4 type and ended up with kernel boot failure.
|
1.36 |
| 30-Sep-2015 |
phx | Pass a name and flags precisely describing the current model and its features via a new bootinfo node (currently Synology only). This allows for example the configuration of model-specific temperature I2C sensors and fan control. Support for the Synology DS207 and DS209 drive LEDs and wait until the 2nd drive is completely powered up.
|
1.35 |
| 08-Aug-2014 |
joerg | branches: 1.35.2; 1.35.4; Use __unreachable().
|
1.34 |
| 05-Aug-2014 |
joerg | Don't use non-literal strings as format strings. XXX Switch to strlcpy.
|
1.33 |
| 07-Nov-2013 |
nisimura | branches: 1.33.2;
shut off gcc 4.8 unused variable warnings.
|
1.32 |
| 25-Dec-2012 |
phx | branches: 1.32.2; QNAP V200 boards have no EEPROM for the MAC address, so all devices default to the same address (00:e0:4c:69:20:01). Now we read the real MAC address from the flash ROM. It is stored at the beginning of a 512-byte block in ASCII format. Some QNAP's have a broken ext2 file system, so we cannot look for the file ETH0.MAC_ADDR therein, but have to search the whole flash in 512-byte steps for candidates...
|
1.31 |
| 16-Apr-2012 |
phx | branches: 1.31.2; Improved Synology CS/RS support: watch power-state of all SATA drives before initializing them, configure drive LEDs to reflect SATA activity. Configure drives on all ATA PCI devices, not only on the first one.
|
1.30 |
| 09-Apr-2012 |
nisimura | The processor ExtClk value of Kurobox/T4 is comfirmed as 32768000.
|
1.29 |
| 09-Apr-2012 |
nisimura | Change to use "kurot4" product name for Terastation TGL and KuroBox/T4.
|
1.28 |
| 08-Apr-2012 |
nisimura | Add an entry for Terastation TGL miconv2 satellite processor which features a more complex protocol than Linkstation/Kurobox.
|
1.27 |
| 14-Jan-2012 |
phx | branches: 1.27.2; Netronics is spelled Netronix.
|
1.26 |
| 14-Jan-2012 |
phx | Add 0x70000000 BAT-mapping for NH230/231. NH23x: Initialize LEDs on startup (status off, to indicate the bootloader is running). Hardware reset routine.
|
1.25 |
| 08-Jan-2012 |
phx | Set the extclk for NH230 to 33000000Hz. Prepare a synosetup() function which should set a different extclk for the 400MHz models, as soon as we find a method to check for them.
|
1.24 |
| 07-Jan-2012 |
phx | NH230 PPCBoot configures the memory boundary registers for 128MB, although the board has only 64MB. Fix that.
|
1.23 |
| 12-Nov-2011 |
phx | branches: 1.23.4; Improved Iomega microcontroller support. Bumped version to 1.8.
|
1.22 |
| 07-Nov-2011 |
phx | Fixed Iomega microcontroller support. Implemented Iomega reboot function.
|
1.21 |
| 06-Nov-2011 |
phx | Added a test terminal for communicating with the satellite microcontroller. When compiled with DEBUG option it can be entered by typing 'C'.
|
1.20 |
| 01-Nov-2011 |
phx | branches: 1.20.2; The Apollo family of IDE interface chips has both channels disabled by default, so we have to enable them in a new chipfix function. Also move the channel enable code for the 82C686B from encpcifix() to pciide.c.
|
1.19 |
| 30-Oct-2011 |
phx | Added in8() and out8() to access a byte with reorder-protection. Use it in all drivers instead of (volatile uint8_t *).
|
1.18 |
| 29-May-2011 |
phx | branches: 1.18.4; When PPCBoot supports the SKnet interface it will configure it to automatically byte-reverse all descriptors by setting a vendor-specific bit in PCI config space. We have to clear that bit to make sure our driver can send and receive.
|
1.17 |
| 26-Apr-2011 |
phx | Priority of QNAP board detection was still too high. It should be lowest, because a Realtek chip at pci device 15 is used on several boards. Now NH230/All6250 detection should work again.
|
1.16 |
| 25-Apr-2011 |
phx | Detect StorCenter before QNAP, otherwise the Realtek NIC will mis-detect as StorCenter boards as QNAP.
|
1.15 |
| 17-Apr-2011 |
phx | DSM-G600 has a 33.000 MHz oscillator on board.
|
1.14 |
| 13-Apr-2011 |
phx | ExtClk for QNAP should be the same as for Synology's 266MHz systems. This seems logical, as both boards are very similar, and the clock precision is ok now.
|
1.13 |
| 09-Apr-2011 |
phx | Set D-Link DSM-G600 power LED to solid green on start.
|
1.12 |
| 26-Mar-2011 |
phx | QNAP support. Detect wm(4) based V1.02 and re(4) based V200 boards. That should include all TS-101 and TS-201 models. Add reset-code and LED-illumination code for the QNAP PIC, which listens on the second UART with 19200 bps.
|
1.11 |
| 13-Mar-2011 |
phx | Enter interactive mode, when a key is pressed within two seconds.
|
1.10 |
| 12-Mar-2011 |
phx | Introduced an optional shutdown function for all network interfaces. This is needed to stop a NIF and make it return to a known state. A running NIF may cause all sorts of bad effects, like for example making it impossible to reboot a board without a hardware-reset function.
|
1.9 |
| 11-Mar-2011 |
phx | Some code cleanup, suggested by nisimura@.
|
1.8 |
| 10-Mar-2011 |
phx | Make sure the device class is IDE (class 0, subclass 1), before checking the PCI interface for native/legacy mode. Different subclasses are always assumed being in native mode. That makes the Acard IDE controller work.
New macros for PCI interface, revision and class.
|
1.7 |
| 06-Mar-2011 |
phx | Suport for loading a kernel from memory (RAM, ROM or Flash). The boot file path should look like "mem:<address>", where <address> is the start address, in hex notation, of the file in memory.
|
1.6 |
| 06-Mar-2011 |
phx | branches: 1.6.2; New experimental driver for SundanceIT ST1023 / IP1000+ NICs. PHY initialization, media select and MAC address are working, but I found no way to make the chip transmit any frame yet (although it clears the DONE flag).
Moved DSK_DECL to globals.h, where NIF_DECL already was.
|
1.5 |
| 14-Feb-2011 |
nisimura | branches: 1.5.2; - add preliminary Netronics NH230 and NH231 supports. - assign PCI configuration register 0x3c with IDSEL value by PCI framework, eliminating most of pcifixup() logic in simple NASes.
|
1.4 |
| 10-Feb-2011 |
nisimura | - some rework for PCI device enumeration. - allow dual IDE/SATA devices. - fix a typo of D-Link #define.
|
1.3 |
| 08-Feb-2011 |
nisimura | - add preliminary code to support D-Link DSM-G600 rev.B NAS. - it features 9600bps console, Moto MCU on the 2nd DUART channel, ACARD ATP865 PCIIDE and IP Plus IP1000A GbE. It has MiniPCI slot.
|
1.2 |
| 07-Feb-2011 |
nisimura | add IOMEGA StorCenter fixup codes. Need more change as the satellite microcontroller protocol is defined in 8-byte fixed length sequence.
|
1.1 |
| 23-Jan-2011 |
nisimura | change bootloader name to "altboot". bump version and add README.
|
1.5.2.4 |
| 31-May-2011 |
rmind | sync with head
|
1.5.2.3 |
| 21-Apr-2011 |
rmind | sync with head
|
1.5.2.2 |
| 05-Mar-2011 |
rmind | sync with head
|
1.5.2.1 |
| 14-Feb-2011 |
rmind | file brdsetup.c was added on branch rmind-uvmplock on 2011-03-05 20:51:47 +0000
|
1.6.2.2 |
| 06-Mar-2011 |
bouyer | Sync with HEAD
|
1.6.2.1 |
| 06-Mar-2011 |
bouyer | file brdsetup.c was added on branch bouyer-quota2 on 2011-03-06 15:07:55 +0000
|
1.18.4.2 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.18.4.1 |
| 29-May-2011 |
jruoho | file brdsetup.c was added on branch jruoho-x86intr on 2011-06-06 09:06:35 +0000
|
1.20.2.5 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.20.2.4 |
| 23-Jan-2013 |
yamt | sync with head
|
1.20.2.3 |
| 23-May-2012 |
yamt | sync with head.
|
1.20.2.2 |
| 17-Apr-2012 |
yamt | sync with head
|
1.20.2.1 |
| 10-Nov-2011 |
yamt | sync with head
|
1.23.4.2 |
| 29-Apr-2012 |
mrg | sync to latest -current.
|
1.23.4.1 |
| 18-Feb-2012 |
mrg | merge to -current.
|
1.27.2.1 |
| 18-Sep-2013 |
bouyer | Pull up following revision(s) (requested by phx in ticket #946): sys/arch/sandpoint/stand/altboot/rge.c: revision 1.7 sys/arch/sandpoint/stand/altboot/brdsetup.c: revision 1.32 sys/dev/ic/rtl8169.c: revision 1.138 QNAP V200 boards have no EEPROM for the MAC address, so all devices default to the same address (00:e0:4c:69:20:01). Now we read the real MAC address from the flash ROM. It is stored at the beginning of a 512-byte block in ASCII format. Some QNAP's have a broken ext2 file system, so we cannot look for the file ETH0.MAC_ADDR therein, but have to search the whole flash in 512-byte steps for candidates... Make re(4) driver always use IDR register values for its MAC address. Some sandpoint NAS firmwares set MAC address per their firmware settings and don't use re(4)'s EEPROM values. Per rtl8169 manuals re(4) chip reads EEPROM automatically after hardware reset and Linux driver also uses IDR registers, so this change should not affect existing other boards which actually have vaild EEPROM. Per discussion in old tech-kern@ thread: http://mail-index.netbsd.org/tech-kern/2012/12/01/msg014573.html Note rtl81x9.c is still shared among rtk(4) only for a multicast function (to avoid boring refactoring work).
|
1.31.2.3 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.31.2.2 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.31.2.1 |
| 25-Feb-2013 |
tls | resync with head
|
1.32.2.1 |
| 18-May-2014 |
rmind | sync with head
|
1.33.2.1 |
| 10-Aug-2014 |
tls | Rebase.
|
1.35.4.2 |
| 28-Aug-2017 |
skrll | Sync with HEAD
|
1.35.4.1 |
| 27-Dec-2015 |
skrll | Sync with HEAD (as of 26th Dec)
|
1.35.2.1 |
| 16-Jan-2016 |
snj | Pull up following revision(s) (requested by phx in ticket #1059): sys/arch/sandpoint/include/bootinfo.h: revision 1.9 sys/arch/sandpoint/stand/altboot/brdsetup.c: revisions 1.36, 1.37 sys/arch/sandpoint/stand/altboot/dsk.c: revision 1.18 sys/arch/sandpoint/stand/altboot/globals.h: revisions 1.20, 1.21 sys/arch/sandpoint/stand/altboot/main.c: revision 1.27 sys/arch/sandpoint/stand/altboot/siisata.c: revision 1.6 sys/arch/sandpoint/stand/altboot/version: revision 1.8 The disk's unittag is not equal to the channel, so we need an additional unitchan entry to make lba_read() work in all cases. The libsa-printf() does not seem to support 64-bit output, so cast the block number to unsigned when printing an error message. -- Pass a name and flags precisely describing the current model and its features via a new bootinfo node (currently Synology only). This allows for example the configuration of model-specific temperature I2C sensors and fan control. Support for the Synology DS207 and DS209 drive LEDs and wait until the 2nd drive is completely powered up. -- fix a board type check logic error that affected Linkstation and Kurobox (HG). They were mistakenly recognized kurot4 type and ended up with kernel boot failure.
|