mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-10-29 19:18:22 +00:00 
			
		
		
		
	PXE boot is broken with GCC 7.1 due option '-fstore-merging' enabled by default for '-O2': BOOTP broadcast 1 data abort pc : [<8ff8bb30>] lr : [<00004f1f>] reloc pc : [<17832b30>] lr : [<878abf1f>] sp : 8f558bc0 ip : 00000000 fp : 8ffef5a4 r10: 8ffed248 r9 : 8f558ee0 r8 : 8ffef594 r7 : 0000000e r6 : 8ffed700 r5 : 00000000 r4 : 8ffed74e r3 : 00060101 r2 : 8ffed230 r1 : 8ffed706 r0 : 00000ddd Flags: nzcv IRQs off FIQs off Mode SVC_32 Resetting CPU ... Core reason is usage of structures for network headers without packed attribute. Reviewed-by: Yauheni Kaliuta <yauheni.kaliuta@redhat.com> Signed-off-by: Denis Pynkin <denis.pynkin@collabora.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
		
			
				
	
	
		
			59 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * (C) Masami Komiya <mkomiya@sonare.it> 2005
 | |
|  *
 | |
|  * SPDX-License-Identifier:	GPL-2.0+
 | |
|  */
 | |
| 
 | |
| #ifndef __SNTP_H__
 | |
| #define __SNTP_H__
 | |
| 
 | |
| #define NTP_SERVICE_PORT	123
 | |
| #define SNTP_PACKET_LEN		48
 | |
| 
 | |
| 
 | |
| /* Leap Indicator */
 | |
| #define NTP_LI_NOLEAP		0x0
 | |
| #define NTP_LI_61SECS		0x1
 | |
| #define NTP_LI_59SECS		0x2
 | |
| #define NTP_LI_ALARM		0x3
 | |
| 
 | |
| /* Version */
 | |
| 
 | |
| #define NTP_VERSION		4
 | |
| 
 | |
| /* Mode */
 | |
| #define NTP_MODE_RESERVED	0
 | |
| #define NTP_MODE_SYMACTIVE	1	/* Symmetric Active */
 | |
| #define NTP_MODE_SYMPASSIVE	2	/* Symmetric Passive */
 | |
| #define NTP_MODE_CLIENT		3
 | |
| #define NTP_MODE_SERVER		4
 | |
| #define NTP_MODE_BROADCAST	5
 | |
| #define NTP_MODE_NTPCTRL	6	/* Reserved for NTP control message */
 | |
| #define NTP_MODE_PRIVATE	7	/* Reserved for private use */
 | |
| 
 | |
| struct sntp_pkt_t {
 | |
| #if __LITTLE_ENDIAN
 | |
| 	uchar mode:3;
 | |
| 	uchar vn:3;
 | |
| 	uchar li:2;
 | |
| #else
 | |
| 	uchar li:2;
 | |
| 	uchar vn:3;
 | |
| 	uchar mode:3;
 | |
| #endif
 | |
| 	uchar stratum;
 | |
| 	uchar poll;
 | |
| 	uchar precision;
 | |
| 	uint root_delay;
 | |
| 	uint root_dispersion;
 | |
| 	uint reference_id;
 | |
| 	unsigned long long reference_timestamp;
 | |
| 	unsigned long long originate_timestamp;
 | |
| 	unsigned long long receive_timestamp;
 | |
| 	unsigned long long transmit_timestamp;
 | |
| } __attribute__((packed));
 | |
| 
 | |
| void sntp_start(void);	/* Begin SNTP */
 | |
| 
 | |
| #endif /* __SNTP_H__ */
 |