History log of /src/sys/arch/i386/stand/efiboot/efinet.c |
Revision | | Date | Author | Comments |
1.3 |
| 05-Mar-2019 |
msaitoh | Centralize ETHER_ALIGN into net/if_ether.h. Note that this commit also changes if_upgt.c's ETHER_ALIGN from 0 to 2.
|
1.2 |
| 03-Sep-2018 |
riastradh | Rename min/max -> uimin/uimax for better honesty.
These functions are defined on unsigned int. The generic name min/max should not silently truncate to 32 bits on 64-bit systems. This is purely a name change -- no functional change intended.
HOWEVER! Some subsystems have
#define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) > (b) ? (a) : (b))
even though our standard name for that is MIN/MAX. Although these may invite multiple evaluation bugs, these do _not_ cause integer truncation.
To avoid `fixing' these cases, I first changed the name in libkern, and then compile-tested every file where min/max occurred in order to confirm that it failed -- and thus confirm that nothing shadowed min/max -- before changing it.
I have left a handful of bootloaders that are too annoying to compile-test, and some dead code:
cobalt ews4800mips hp300 hppa ia64 luna68k vax acorn32/if_ie.c (not included in any kernels) macppc/if_gm.c (superseded by gem(4))
It should be easy to fix the fallout once identified -- this way of doing things fails safe, and the goal here, after all, is to _avoid_ silent integer truncations, not introduce them.
Maybe one day we can reintroduce min/max as type-generic things that never silently truncate. But we should avoid doing that for a while, so that existing code has a chance to be detected by the compiler for conversion to uimin/uimax without changing the semantics until we can properly audit it all. (Who knows, maybe in some cases integer truncation is actually intended!)
|
1.1 |
| 11-Apr-2018 |
nonaka | branches: 1.1.2; 1.1.4; 1.1.6; efiboot: Added network boot support.
|
1.1.6.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.1.4.3 |
| 06-Sep-2018 |
pgoyette | Sync with HEAD
Resolve a couple of conflicts (result of the uimin/uimax changes)
|
1.1.4.2 |
| 16-Apr-2018 |
pgoyette | Sync with HEAD, resolve some conflicts
|
1.1.4.1 |
| 11-Apr-2018 |
pgoyette | file efinet.c was added on branch pgoyette-compat on 2018-04-16 01:59:54 +0000
|
1.1.2.2 |
| 11-Apr-2018 |
martin | Pull up following revision(s) (requested by nonaka in ticket #739):
sys/arch/i386/stand/efiboot/efinet.h: revision 1.1 sys/arch/i386/stand/efiboot/efinet.c: revision 1.1 sys/arch/i386/stand/efiboot/conf.c: revision 1.2 sys/arch/i386/stand/efiboot/devopen.c: revision 1.5 sys/arch/i386/stand/efiboot/efidisk.c: revision 1.6 sys/arch/i386/stand/efiboot/devopen.h: revision 1.3 sys/arch/i386/stand/efiboot/efipxe.c: revision 1.1 sys/arch/i386/stand/efiboot/efiboot.c: revision 1.7 sys/arch/i386/stand/efiboot/boot.c: revision 1.10 sys/arch/i386/stand/efiboot/efiboot.h: revision 1.8 sys/arch/i386/stand/efiboot/Makefile.efiboot: revision 1.12 sys/arch/i386/stand/efiboot/dev_net.c: revision 1.1
efiboot: Added network boot support.
|
1.1.2.1 |
| 11-Apr-2018 |
martin | file efinet.c was added on branch netbsd-8 on 2018-04-11 14:51:43 +0000
|