History log of /src/sys/arch/sandpoint/stand/altboot/rge.c |
Revision | | Date | Author | Comments |
1.8 |
| 25-Mar-2021 |
rin | Fix tftp boot with RTL8169/8110.
When sending frame shorter than 60 octets, we add trailing \0's to payload to construct 60-octet frame.
rge.c rev 1.4--1.7 did this tail-padding on buffer provided by caller, which results in memory corruption if buffer is shorter than 60 bytes.
Instead, allocate temporary buffer on stack, and work on it.
This bug affects tftp_getnextblock() compiled by GCC8 and later, by which stack layout has drastically changed. However, even with GCC7, if tftp.c is compiled with -O0, the bug becomes tangible.
|
1.7 |
| 25-Dec-2012 |
phx | branches: 1.7.50; 1.7.52; 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.6 |
| 30-Oct-2011 |
phx | branches: 1.6.2; 1.6.8; 1.6.12; Added in8() and out8() to access a byte with reorder-protection. Use it in all drivers instead of (volatile uint8_t *).
|
1.5 |
| 29-Apr-2011 |
phx | branches: 1.5.4; When we stretch a short frame to 60 bytes in rge_send() do not return 60, but the original frame size.
|
1.4 |
| 04-Apr-2011 |
phx | Make sure a frame is at least 60 bytes, as Realtek does not automatically expand small frames. Patch suggested by nisimura@.
|
1.3 |
| 27-Mar-2011 |
phx | Fixed PHY access. Support 8169SC/8110SC (as found on QNAP V200 boards). Make frame receiving work (FRAMELEN <-> FRAMESIZE). Driver works now, but not the first time after cold start.
|
1.2 |
| 27-Jan-2011 |
phx | branches: 1.2.2; 1.2.4; Debugging output is only visible when DEBUG is defined.
|
1.1 |
| 23-Jan-2011 |
nisimura | change bootloader name to "altboot". bump version and add README.
|
1.2.4.2 |
| 06-Mar-2011 |
bouyer | Sync with HEAD
|
1.2.4.1 |
| 27-Jan-2011 |
bouyer | file rge.c was added on branch bouyer-quota2 on 2011-03-06 15:07:56 +0000
|
1.2.2.4 |
| 31-May-2011 |
rmind | sync with head
|
1.2.2.3 |
| 21-Apr-2011 |
rmind | sync with head
|
1.2.2.2 |
| 05-Mar-2011 |
rmind | sync with head
|
1.2.2.1 |
| 27-Jan-2011 |
rmind | file rge.c was added on branch rmind-uvmplock on 2011-03-05 20:51:47 +0000
|
1.5.4.2 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.5.4.1 |
| 29-Apr-2011 |
jruoho | file rge.c was added on branch jruoho-x86intr on 2011-06-06 09:06:35 +0000
|
1.6.12.1 |
| 25-Feb-2013 |
tls | resync with head
|
1.6.8.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.6.2.1 |
| 23-Jan-2013 |
yamt | sync with head
|
1.7.52.1 |
| 03-Apr-2021 |
thorpej | Sync with HEAD.
|
1.7.50.1 |
| 03-Apr-2021 |
thorpej | Sync with HEAD.
|